问题与装载的UITableView导航为基础的应用程序
在基于导航的应用程序,当我试图加载已得到使用initWithNibName
实现UITableView
另一种观点认为:点击UITableView
细胞后问题与装载的UITableView导航为基础的应用程序
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIViewController *detailsViewController = [[UIViewController alloc] initWithNibName:@"bloop2ViewController" bundle:nil];
[[self navigationController] pushViewController:detailsViewController animated:YES];
[detailsViewController release];
}
我得到:
2009-06-13 11:44:41.089 Bloop[75227:20b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0xd446f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key tableView.' 2009-06-13 11:44:41.092 Bloop[75227:20b] Stack: (
807902715, 2429103675, 808061681, 810717848, 810716389, 816538544, 807805711, 816533170, 816541363, 815230552, 815224116, 815223834, 815217291, 815258907, 815254969, 815262662, 815243017, 815265053, 815242666, 11044, 815018240, 815005661, 810768858, 807687328, 807683624, 839142449, 839142646, 814752238, 9088, 8942 )
但是,当我在InterfaceBuilder中断开UITableView
时,视图加载没有任何问题(除了没有办法将数据推入它)。
UITableView的实现是正确的 - 我尝试了一个新的XCode项目,它工作得很好。
错误消息表明您正尝试在UIViewController类型的对象上设置属性“tableView”,但它没有。我只是猜测,但也许你有你的nib文件中的派生视图控制器,它具有属性tableView,但是然后你不构造你的派生对象,而是一个UIViewController。你应该尝试:
MyTableViewController *detailsViewController = [[MyTableViewController alloc] initWithNibName:@"bloop2ViewController" bundle:nil];
我刚刚经历过这个问题。在我的情况下,原因是MyTableViewController
的实现代码被排除在当前的构建配置之外。希望能帮助别人。
另一种方式可以咬你。我已经抛出了xib的视图,并开始了。无论我做了什么,视图都会在加载时抛出异常。将头发拉出几个小时后,我终于从模拟器中删除了该应用程序,并将其修复。不知怎的,旧的xib在安装时没有被替换。
这个我忘了
2小时后@synthesize tableView = _tableView;
希望它可以帮助
马里奥
就像一个魅力......我花了整整一天的跟踪下来,我认真欠你:) 再次感谢,并保重! – 2009-06-13 13:49:15