【问题标题】:loaded the "PersonnalDetails" nib but didn't get a UITableView加载了“PersonnalDetails”笔尖,但没有得到 UITableView
【发布时间】:2010-04-13 22:35:18
【问题描述】:

我正在尝试使用以下代码加载新视图

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

 PersonnelDetails *detailViewController = [[PersonnelDetails alloc] initWithNibName:@"PersonnelDetails" bundle:[NSBundle mainBundle]];

[self.navigationController pushViewController:detailViewController Animation:YES]; [detailViewController 发布];

} 继承:- PersonnelDetails 继承 UITableViewController

但我遇到了一个例外: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "PersonnalDetails" nib but didn't get a UITableView.' 即使我在 PersonnalDetails nib 中有一个 UITableView,并且我已将 PersonnelDetails(viewController) 的视图出口连接到 UITableView。 可能的原因是什么?

【问题讨论】:

  • 错字?有一个区别: initWithNibName:@"PersonnelDetails"loaded the "PersonnalDetails"
  • 有错字,但在整个应用程序中是一致的。我刚刚为这篇文章更正了它,现在我认为我不应该这样做。
  • 我也有同样的问题,但是你有 PersonalDetails 的文字我有一个非常神秘的名字:bua-sk-pLW-view-2D1-Eq-mlN。退出 Xcode 也不起作用。

标签: iphone


【解决方案1】:

我认为这个问题是因为你继承 UITableViewController 而不是 UIViewController。我之前也遇到过同样的问题。

【讨论】:

    【解决方案2】:

    这听起来可能很奇怪,但就我而言,我确实需要一个带有表格视图的 UITableViewController。我没有使用 xib 文件,所以我正在使用代码构建所有接口。

    我收到了同样的错误。

    我所做的就是像这样重写 loadView 方法,它起作用了!

    - (void)loadView {
        [super loadView];
    }
    

    现在奇怪的是,如果我评论 loadView 方法,我会收到另一个错误:

    该类不符合键设置视图的键值编码

    ,虽然我没有使用 settingsView 属性,但它已被注释。

    我现在很困惑!尽管使用 loadView 覆盖它可以工作。

    编辑

    我已经从我的 iPhone 中删除了该应用程序,然后在 loadView 注释的情况下再次运行它,它现在可以工作了...

    【讨论】:

    • 我刚刚在 XCode 4.5 上使用 iOS 6 模拟器遇到了完全相同的情况。多么可笑。不过谢谢分享!
    • 我不喜欢这为我解决了这个问题,但确实如此......所以谢谢!
    【解决方案3】:

    我不知道问题出在哪里,但是重新启动 XCode 后,一切正常。

    【讨论】:

    • 现在我可能知道,我并没有明确保存界面生成器文档。我有一个错误的想法,即在 iphone 模拟器中运行应用程序会弹出保存对话框,这反过来也会保存界面构建器文档中的更改。不幸的是,情况并非如此。因此,通过关闭 xcode 和界面生成器,我得到了保存我所做的更改并导致问题解决的消息。
    【解决方案4】:

    您在 .h 文件中犯了错误,

    @interface ViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource
    

    @interface SearchViewController : ViewController<UITableViewDelegate, UITableViewDataSource
    

    改为

    @interface SearchViewController : UIViewController<UITableViewDelegate, UITableViewDataSource
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 2019-01-09
      • 1970-01-01
      相关资源
      最近更新 更多