【问题标题】:lldb breakpoint, loaded nib but didn't get a UITableViewlldb 断点,加载了 nib 但没有得到 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 得到了正确的猜测,这是有道理的,因此你得到了警告。不知道他为什么删除了他的评论。
  • 主要问题仍然存在:当我想加载我的下一个视图控制器时它会中断......

标签: ios uitableview pushviewcontroller lldb


【解决方案1】:

如果我理解正确的话,你在接口文件中的 tdvController 声明被命名为与你得到异常的实例方法中的 tdvController 相同。

如果您的意图是在此实例方法中创建和使用实例变量,请不要再次声明它,只需:

self.tdvcController = [[TopicsDetailViewController alloc] init];

在堆上创建对象。

如果您打算在此实例方法中使用 TopicsDetailViewController 类型的局部变量而不是 iVar,则将局部变量重命名为其他变量。

【讨论】:

  • 这在上面的评论中得到了回答,所以现在的问题是它为什么会中断并考虑输出消息。
猜你喜欢
  • 2019-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多