我想使用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> )'
有人知道这里有什么问题吗?如果你能看看这个项目会很好。
答案 0 :(得分:1)
在释放MainTableViewController之前,您需要从键值观察中删除观察者。你可以通过覆盖dealloc来做到这一点。你应该添加:
- (void)dealloc
{
[self removeObserver:self.controller.searchResultsController forKeyPath:@"results"];
}
到MainTableViewController
。