1.常量名称最好用static标识,例如下面的代码,包括其他一些只需要定义一次,之后不需要变化的变量也最好使用static
static NSString *CellIdentifier = @"Cell";
2.当设置视图控制器需要接受通知时,需要在dealloc取消监听
例如下面代码监听通知:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground)
name:UIApplicationDidEnterBackgroundNotification
object:nil];
则需要重写dealloc方法:
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
3.当出现EXC_BAD_ACCESS异常错误时,可用以下方法找出错误:
设置完以后,当app cash时,Xcode会指出错误的地方,一般是代码语句顺序有误导致内存相关问题
4.向某个视图控制器嵌入另一个视图控制器的实现:
父视图控制器中显示子视图控制器代码,语句顺序不能有错:
DetailViewController *controller = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
[self.view addSubview:controller.view];
[self addChildViewController:controller];
[controller didMoveToParentViewController:self];
子视图控制器DetailViewController从父视图中移除的代码,语句顺序不能有错:
[self willMoveToParentViewController:nil];
[self.view removeFromSuperview];
[self removeFromParentViewController];
5.对于@""字符串最好以NSLocalizedString()形式出现,有助于后面进行国际化