UINavigationControllers are not allowed in a navigation controller

human8848 2014-12-09 10:53:02
我使用xcode6.1编译一个旧工程,编译可以通过,但是运行的时候出现如下错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UINavigationControllers are not allowed in a navigation controller!
程序中用到UINavigationController的地方很多,基本上都是如下形式:

- (IBAction)trendButtonClicked:(id)sender {
TrendListCtrlor *trendList = [[TrendListCtrlor alloc] init];
trendList.delegate = self;
UINavigationController *tlNav = [[UINavigationController alloc] initWithRootViewController:trendList];
[self presentModalViewController:tlNav animated:YES];
[tlNav release];
[trendList release];
}

请问这是什么原因导致的,如何解决
...全文
335 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
human8848 2014-12-09
  • 打赏
  • 举报
回复
引用 1 楼 zhangao0086 的回复:
UINavigationController不支持嵌套的
那请问怎么改呢
Bannings 2014-12-09
  • 打赏
  • 举报
回复
UINavigationController不支持嵌套的
ReyZhang 2014-12-09
  • 打赏
  • 举报
回复
代码中的“TrendListCtrlor” 这个类应该是直接或间接继承自UINavigationController , 而这句
UINavigationController *tlNav = [[UINavigationController alloc] initWithRootViewController:trendList];
是创建一个导航控制器,并将trendList压入到导航控制器栈中,而如果trendList实例本身就是一个UINavigationController 的话,就会报上述的错误了。
Lucklyric 2014-12-09
  • 打赏
  • 举报
回复
你在一个Navigation controller类里 alloc了一个 Navigation controller类 是不可以的
伦敦iOS小牛 2014-12-09
  • 打赏
  • 举报
回复
从代码看来,TrendListCtrlor 应该也是 navigation controller 的子类
Bannings 2014-12-09
  • 打赏
  • 举报
回复
先找找另一个NavigationController在哪里,TrendListCtrlor这个类里面有吗?

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧