cellForRowAtIndexPath方法不走

2019-10-29  本文已影响0人  请不要念出我的名字

第一种:tableview的代理没设置
要执行代理,是必须设置delegate和datasource,xib或者storyboard要记得连线代理

第二种:视图代理对象是否正确。
是否将代理设置为本视图或者VC
第三种:tableview的frame有问题
没有设置UITableView的frame。
我的实际项目中导致这个问题的原因是在给tableView的dataSource中赋值时候是在数组set方法中:

- (void)setPages:(NSArray *)pages {
      [self.tableView reloadData];
}

在DataSource的代理中:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return self.pages.count;
}

我的理解是这样会导致互相调用没有结果

最后改成了重新创建了一个数组来赋值

- (void)setPages:(NSArray *)pages {
    [self.data removeAllObjects];
    [self.data addObjectsFromArray:pages];
    [self.tableView reloadData];
}

实际情况还是得根据具体项目来分析。

上一篇下一篇

猜你喜欢

热点阅读