在程序里這樣的代碼是很常見的:
- (UITableView *)tableView
{
if (_tableView == nil) {
_tableView = [[UITableView alloc]initWithFrame:self.view.frame
style:UITableViewStyleGrouped];
_tableView.delegate = self;
_tableView.dataSource = self;
}
return _tableView;
}
這其實(shí)是有缺陷的, 只要在viewDidLoad之前調(diào)用過self.tableView就會(huì)導(dǎo)致self.view被調(diào)用, self.view被調(diào)用則會(huì)調(diào)用viewDidLoad被調(diào)用。
如果viewDidLoad里調(diào)用self.tableview,則會(huì)導(dǎo)致產(chǎn)生兩份的tableView,導(dǎo)致reloadData無效了