lldb 断点,加载了 nib 但没有得到 UITableView
Posted
技术标签:
【中文标题】lldb 断点,加载了 nib 但没有得到 UITableView【英文标题】:lldb breakpoint, loaded nib but didn't get a UITableView 【发布时间】:2013-01-25 15:06:12 【问题描述】:我有一个没有笔尖的应用程序。它的rootviewcontroller 是一个tableviewcontroller。我让它推送到第二个 tableviewcontroller,它控制一个 detailview。就在本周早些时候,我成功地将它推送到了下一个 tableviewcontroller。几天后(可能保存了错误的版本),
我得到一个
(lldb) 在我选择表项时在 pushViewController 方法处设置断点。我启用了所有异常的断点。如果我再按两次播放按钮,我会在输出框中得到这个:
" ** 由于未捕获的异常 'NSInternalInconsistencyException' 导致应用程序终止,原因:'-[UITableViewController loadView] 加载了 "TopicsDetailViewController" nib 但没有获得 UITableView。'"
这里有什么问题还是我需要在我的项目中寻找其他地方?
这是在我的标题界面中:
TopicsDetailViewController *tdvController;
: ) 这是我的 didSelectRowAt...
tdvController = [[TopicsDetailViewController alloc] init];
tdvController.aFeed = afeed;
[self.navigationController pushViewController:tdvController animated:YES];
tdvController = nil;
谢谢,如果我找错树了,请告诉我。
【问题讨论】:
@H2CO3 据我所知,这是一个不同的变量,有一个额外的“c” 谢谢!这让我有一段时间很痒。 抱歉 Valentin,已更新。 然后@h2co3 得到了正确的猜测,这是有道理的,因此你得到了警告。不知道他为什么删除了他的评论。 主要问题仍然存在:当我想加载我的下一个视图控制器时它会中断...... 【参考方案1】:如果我理解正确的话,你在接口文件中的 tdvController 声明被命名为与你得到异常的实例方法中的 tdvController 相同。
如果您的意图是在此实例方法中创建和使用实例变量,请不要再次声明它,只需:
self.tdvcController = [[TopicsDetailViewController alloc] init];
在堆上创建对象。
如果您打算在此实例方法中使用 TopicsDetailViewController 类型的局部变量而不是 iVar,则将局部变量重命名为其他变量。
【讨论】:
这在上面的评论中得到了回答,所以现在的问题是它为什么会中断并考虑输出消息。以上是关于lldb 断点,加载了 nib 但没有得到 UITableView的主要内容,如果未能解决你的问题,请参考以下文章