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