我创建了UITableView的子类,并希望将它与UITableViewController一起使用,以在出现键盘时获得自动滚动的好处。在对的loadView我的视图控制器(来自衍生的UITableViewController)我做了以下内容:不会重新分配UITableViewController的tableView属性导致泄漏?
- (void)loadView
{
[super loadView];
self.tableView = [[MyCustomTableView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame style:UITableViewStyleGrouped];
self.tableView.delegate = self;
self.tableView.dataSource = self;
}
不应该这导致与任何self.tableView
被重新分配之前引用泄漏?我运行了Build And Analyze,并没有将其报告为泄漏。显示我的看法时
但是,如果我尝试“好” ......
- (void)loadView
{
[super loadView];
[self.tableView release];
// reassign code...
}
...各种讨厌的崩溃发生。任何人都可以向我解释简单的重新分配是否会导致泄漏,如果是的话,如何正确地做到这一点?
在此先感谢。
有点晚了,但我很困惑。有双重保留,因此上面的例子会有泄漏,不是吗? – Kalle 2010-07-25 13:14:12
你是对的,卡勒,在OP的代码中有泄漏。我没有看到任务,只回答了OP的问题,“这不应该导致任何self.tableView在重新分配之前引用的泄漏?”。接得好。 – 2010-07-25 13:55:24