第一种: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];
}
实际情况还是得根据具体项目来分析。
网友评论