問題: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時未調用所有繪制該表格的函數,例如修改背景顏色
很可惜,最終我的問題不是上面任意一個,
原因在於我請求數據的視圖實例化的時候並不是當前顯示的視圖,最后我用當前顯示的視圖去調用接口,成功。