我直接在 dealloc 中清除表视图委托和数据源方法,如下所示:
- (void)dealloc
{
self.tableView.delegate = nil;
self.tableView.dataSource = nil;
}
但是看一些网上dealloc的例子,我发现每个人都在检查视图是否被加载,然后清除委托和数据源,如下所示:
- (void)dealloc
{
if ([self isViewLoaded])
{
self.tableView.delegate = nil;
self.tableView.dataSource = nil;
}
}
想知道是否只是检查内存是否分配给视图,如果是则清除否则不。或者有什么特别的原因要在这里添加支票?