我正在尝试使用以下代码加载新视图
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
PersonnelDetails *detailViewController = [[PersonnelDetails alloc] initWithNibName:@"PersonnelDetails" bundle:[NSBundle mainBundle]];
Run Code Online (Sandbox Code Playgroud)
[self.navigationController pushViewController:detailViewController animated:YES]; [detailViewController release];
}
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UITableViewController loadView] loaded the "PersonnalDetails" nib but didn't get a UITableView.'
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
PersonnelDetails *detailViewController = [[PersonnelDetails alloc] initWithNibName:@"PersonnelDetails" bundle:[NSBundle mainBundle]];
Run Code Online (Sandbox Code Playgroud)
[self.navigationController pushViewController:detailViewController animated:YES]; [detailViewController release];
} inhertance: - 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.什么是可能的原因?
这可能听起来很奇怪,但在我的情况下,我真的需要一个带有表视图的UITableViewController.我没有使用xib文件,所以我正在使用代码构建所有接口.
我收到了同样的错误.
我做的是像这样覆盖loadView方法,它工作了!
- (void)loadView {
[super loadView];
}
Run Code Online (Sandbox Code Playgroud)
现在更奇怪的是,如果我评论loadView方法,我会收到另一个错误:
此类不是键设置视图的键值编码兼容
,而settingsView属性我没有使用它,它的评论.
我现在很困惑!虽然使用loadView覆盖它可以工作.
编辑
我已经从我的iPhone中删除了应用程序然后再次使用loadView进行了评论并且它现在可以正常运行...
| 归档时间: |
|
| 查看次数: |
9923 次 |
| 最近记录: |