EXC_BAD_ACCESS查错 + message sent to deallocated instance的一种情况

今天项目新版提测,出现了个BUG,iOS8环境下某种操作闪退,iOS9正常,而报错是可恶的“EXC_BAD_ACCESS”,直接跳到main函数里了,先放上“EXC_BAD_ACCESS”调试方法:[EXC_BAD_ACCESS 查错步骤] e(http://jingyan.baidu.com/article/fcb5aff7851553edaa4a71bb.html);

接着就有打印崩溃原因了:“-[FSShoppintChartPayVC tableView:numberOfRowsInSection:]: message sent to deallocated instance 0x7ff9f0c46800”
问题就是FSShoppintChartPayVC已经调用了dealloc方法释放了,而tableView没有被释放,调用其代理方法,结果就调用了FSShoppintChartPayVC对象的空指针。
解决办法就是,在FSShoppintChartPayVC的dealloc方法中把代理置空:

- (void)dealloc {
    _tableView.delegate = nil;
    _tableView.dataSource = nil;
}

你可能感兴趣的:(EXC_BAD_ACCESS查错 + message sent to deallocated instance的一种情况)