tableView reloadData时cellForRowAtIndexPath不调用问题的小结
问题:tableView需要显示的数据内容是网络请求过来的,tableView是另外写在UIView中,不在控制器里面,所以我在UIView里面加了接口,并且在视图控制器里请求到数据后传回给tableView。
调用接口的时候我实例化了tableView的一个类。
结果cellForRowAtIndexPath在刷新的时候不会被调用,表格虽然有,但内容显示为空。
然后我就在拿到数据后执行reloadData,刷新表格。结果还是空。
cellForRowAtIndexPath在刷新时没有被调用这个问题我网上查了下,可能原因比较多,有几个被提到比较多的如下:
// 1.numberOfSectionsInTableView的返回值为0
// 2. _tableView.delegate = self;
// _tableView.dataSource = self;未设置
// 3.表格的边框没有约束
// 4.reload的时候表格没有在当前页面显示
// 5.reload未在主线程执行
// 6.reload时未调用所有绘制该表格的函数,例如修改背景颜色