iOS懒加载导致tableView的reloadData无效

在程序里这样的代码是很常见的:

- (UITableView *)tableView
{
    if (_tableView == nil) {
        _tableView = [[UITableView alloc]initWithFrame:self.view.frame
                                                 style:UITableViewStyleGrouped];
        _tableView.delegate = self;
        _tableView.dataSource = self;
    }
    return _tableView;
}

这其实是有缺陷的, 只要在viewDidLoad之前调用过self.tableView就会导致self.view被调用, self.view被调用则会调用viewDidLoad被调用。

如果viewDidLoad里调用self.tableview,则会导致产生两份的tableView,导致reloadData无效了

你可能感兴趣的:(iOS懒加载导致tableView的reloadData无效)