Wil*_*sch 6 iphone uitableview loadview
我正在尝试设置一个UITableViewController,以便它的tableView属于我的自定义子类.我的loadView方法目前看起来像这样:
- (void) loadView {
MyTableViewSubclass* tv = [[[MyTableViewSubclass alloc]initWithFrame: CGRectZero style: UITableViewStylePlain]autorelease];
self.view = tv;
self.tableView = tv;
}
Run Code Online (Sandbox Code Playgroud)
如果我评论出上述方法,我会在之后发生崩溃.所以缺少一些东西.但是什么?
Apple的文档说我不应该在loadView中调用super.这是有道理的,因为我希望视图有我的课程,而不是他们的课程.
我尝试过的事情没有帮助:
我试过的一件事确实解决了这个问题,但却失败了:
编辑:崩溃如下所示.它发生在用户做一些输入之后.如果我创建一个普通的UITableView而不是我的子类,它也会以相同的方式发生.应用程序中有很多内容,我的loadView覆盖[或者更有可能的是,覆盖中缺少的东西]导致状态不同,从而导致崩溃.但我没有看到追踪不同之处的好方法.
2011-09-08 12:44:59.591 MyAppName[97649:207] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[MyTableViewSubclass scrollToRowAtIndexPath:atScrollPosition:animated:]: row (0) beyond bounds (0) for section (0).'
Run Code Online (Sandbox Code Playgroud)
Wil*_*sch 12
事实证明我需要将tableView的dataSource和delegate设置为加载的一部分.所以当我这样做时,一切正常:
- (void) loadView {
MyTableViewSubclass* tv = [[[MyTableViewSubclass alloc]initWithFrame: CGRectZero style: UITableViewStylePlain]autorelease];
tv.dataSource = self;
tv.delegate = self;
self.view = tv;
self.tableView = tv;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3943 次 |
| 最近记录: |