🐞NSInternalInconsistencyException

  • Bug名称
    'NSInternalInconsistencyException' 内部不一致
    reason: 'Tried to pop to a view controller that doesn't exist.'
  • 翻译:
    试着将view controller pop(出栈)时,没有找到它.

  • Bug的产生原因?
    • 需求: 我想要,在navigationController - 导航控制器里,切换到指定的子控制器.
    • 原因:
      • OneViewController是新建的控制器,并不是已经在当前的navigationController - 导航控制器里,
      • - popToViewController: 方法,切换控制器,有个前提,那就是,必须已经在"导航控制器里的子控制器",才能切换.
      OneViewController *oneVC = [[OneViewController alloc]init];
      [self.navigationController popToViewController:oneVC animated:YES];
      

  • Bug的解决方案?
    -- 获取当前导航控制器里,所有的子控制器
    NSArray<UIViewController *>* dataVC = self.navigationController.childViewControllers;
    
    -- 切换到指定的子控制器.如: 'dataVC[1]'
    [self.navigationController popToViewController:dataVC[1] animated:YES];
    

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。