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;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容