【发布时间】:2014-08-12 17:15:13
【问题描述】:
运行我的程序时,我收到以下崩溃错误:
-[UISearchDisplayController setActive:animated:] 中的断言失败,/SourceCache/UIKit_Sim/UIKit-2903.23/UISearchDisplayController.m:1275
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“搜索内容导航控制器不得在 -setActive:YES 和 -setActive:NO 之间更改”
当我在以下代码块之后点击搜索栏上的取消时发生错误:
-(void)searchBarCancelButtonClicked:(UISearchBar *) searchBar {
[self.searchBar resignFirstResponder];
_displayRowData = nil;
[_sdc.searchResultsTableView reloadData];
[self.navigationController popViewControllerAnimated:NO];
}
注意:当我切换到时,此错误消失:
[self.navigationController popViewControllerAnimated:YES];
即使我注释掉我必须对 -setActive 的唯一调用,此错误仍然存在。
没有动画的 popViewController 的正确方法是什么?调用它时,导航堆栈上还有另一个视图控制器。我不能使用dismissViewController,因为我需要将所有内容都保留在导航堆栈上。我只想干净地过渡到我以前的视图控制器。
【问题讨论】:
标签: ios objective-c uiviewcontroller