代码之家  ›  专栏  ›  技术社区  ›  awsome

加载了“PersonnalDetails”nib,但没有获得UITableView

  •  4
  • awsome  · 技术社区  · 16 年前

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

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

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

    [自导航控制器pushViewC]ontroller:detailViewController animated:是];

    }

    但我有个例外: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "PersonnalDetails" nib but didn't get a UITableView.' 可能的原因是什么?

    4 回复  |  直到 16 年前
        1
  •  16
  •   Tung Do    14 年前

    我认为问题是因为您正在子类化UITableViewController而不是UIViewController。我以前也有同样的问题。

        2
  •  5
  •   Bogdan    13 年前

    这听起来可能很奇怪,但在我的例子中,我真的需要一个带有表视图的UITableViewController。我没有使用xib文件,所以我使用代码构建所有接口。

    我收到了同样的错误。

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

    此类不符合key settingsView的键值编码

    ,而settingsView属性我没有使用它,它被注释了。

    编辑

    我已经从我的iPhone上删除了这个应用程序,然后用loadView重新运行它,现在可以运行了。。。

        3
  •  1
  •   awsome    16 年前

        4
  •  1
  •   Kirtikumar A.    13 年前

    你的.h文件出错了,

    @interface ViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource
    

    @interface SearchViewController : ViewController<UITableViewDelegate, UITableViewDataSource
    

    @interface SearchViewController : UIViewController<UITableViewDelegate, UITableViewDataSource