场景:
今天遇到一个问题就是刷新表的时候,界面无法更新,cellforrowatindexpath
与numberOfRowsInSection方法都不执行。去goole了好久,都没找到方法,最后奇葩的写法解决了问题。
下面是解决的过程:
1.不执行方法,首先想到的是delegate与datasource没有设置,要不就是数据源为0.(然并卵,同一个界面,我做刷新就行,就一个方法里不行)
2.考虑是不是在子线程(然并卵)
3.把[self.tableView reloadData]换成[_tableView reloadData](这是因为有一篇文章提到的,原文:http://gracelancy.com/blog/2012/11/27/debug-objc-code/)
然并卵,上面的三个方法都不行,那就要看看我下面的这个方法了。
[_tableView reloadData]
[self.tableView reloadData]
没错,你没有看错,我是写了两次刷新,然而就行了。
出现的原因,上面提到的那文章里有写,我感觉是一样的。感兴趣的同学,可以去看看。
如有不同观点与解决方法,欢迎评论!
下面这个是楼主最后的方法:
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.1*NSEC_PER_SEC)),dispatch_get_main_queue(), ^{
[weakSelf.tableViewreloadData];
});