iOS开发技巧,细节(二)

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()形式出现,有助于后面进行国际化

原文地址:https://www.cnblogs.com/guitarandcode/p/5689873.html