UINavigationController.delegat iOS8 crash

问题出现的原因:在设置里navigationController.delegate 为self之后导致了在8上出现crash的问题 经过多次分析发现是野指针类型报错就是向一个已经被释放的对象发送消息导致的

解决办法:

  • 定位叶指针文件
    1.通过Product->Scheme->Edit Scheme进入下面编辑页面,选中Arguments tab,增加标计位NSZombieEnabled设为YES
  1. 添加MallocStackLoggingNoCompact,并且设置为YES

    [AM_ShowDetail_ViewController respondsToSelector:]: message sent to deallocated instance 0x14e000350
  • 在viewWillDisapple里面添加
-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    
     这个是iOS8 设置里navigationController的代理时候出现的问题
    
    if (self.navigationController.delegate == self) {
        self.navigationController.delegate = nil;
    }
}

你可能感兴趣的:(UINavigationController.delegat iOS8 crash)