【问题标题】:NSInternalInconsistencyException using popViewControllerAnimated:NONSInternalInconsistencyException 使用 popViewControllerAnimated:NO
【发布时间】: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


    【解决方案1】:

    已解决。在弹出之前调用以下命令解决了我的问题:

    [_sdc setActive:NO animated:YES];
    [self.navigationController popViewControllerAnimated:NO];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      • 2014-11-06
      相关资源
      最近更新 更多