場景:
今天遇到一個問題就是刷新表的時候,界面無法更新,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];
});