iOS - NSInternalInconsistencyException(表搜索)

时间:2016-05-19 21:27:17

标签: ios objective-c search

我想使用Objective-C进行带有表搜索的iOS应用程序。我尝试过这个项目:

https://github.com/versluis/Table-Search-2015

现在我尝试在导航视图和表格视图之间设置普通视图。在普通视图中是一个按钮,它具有到表格视图的推送。

当我按下此按钮时,我进入表格视图,搜索仍然有效。但是,如果我现在使用后退按钮,应用程序会崩溃并显示以下消息:

  

2016-05-19 23:23:29.135表搜索[2533:63871] ***由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:'类MainTableViewController的实例0x7f81b95db6e0当关键价值观察员仍然在其注册时被解除分配。当前观察信息:< NSKeyValueObservationInfo 0x7f81b945c000> (   < NSKeyValueObservance 0x7f81b9428720:Observer:0x7f81b95e9830,Key path:results,Options:< New:YES,Old:NO,Prior:NO>上下文:0x0,属性:0x7f81b94286f0>   )'

有人知道这里有什么问题吗?如果你能看看这个项目会很好。

1 个答案:

答案 0 :(得分:1)

在释放MainTableViewController之前,您需要从键值观察中删除观察者。你可以通过覆盖dealloc来做到这一点。你应该添加:

- (void)dealloc
{
    [self removeObserver:self.controller.searchResultsController forKeyPath:@"results"];
}

MainTableViewController