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时未调用所有绘制该表格的函数,例如修改背景颜色

很可惜,最终我的问题不是上面任意一个,

原因在于我请求数据的视图实例化的时候并不是当前显示的视图,最后我用当前显示的视图去调用接口,成功。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM