-1

就像問題所述。在屏幕上異步加載50個UITableviews

我試過NSOperationQueues但我很困惑在操作塊中執行什麼。我嘗試使用功能reloadData加載操作隊列,但所有UITableView都立即出現。

我在上述UITableView s上使用自定義單元格。

TIA

+0

您是否嘗試過使用GCD進行此操作?您可以使用串行調度隊列來達到此目的。 –

+0

除非您同時在屏幕上同時顯示50個表格視圖,否則您做錯了什麼。您應該可能有50個數據源/單元委託和一個表視圖。保存滾動位置並簡單地換出數據以在數據集之間轉換。 –

回答

0

如果你的數據加載你需要確保你觸發任何更改UI之前返回到主線程後臺線程完成。因此,當您撥打reloadData時,請確保它在主線程上運行:

[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO]; 
+0

謝謝,但表視圖加載正常。只是他們花了很多時間,他們都立即出現在網頁上。我在這個視圖上有50個TableViews,我希望他們每個人都能逐個加載數據。我嘗試將TableView的「ReloadData」方法添加到MaxConcurrentOperations設置爲1的操作隊列中,並在後臺運行。仍然沒有運氣。如果我添加這一行,會有什麼變化嗎?因爲TableView的委託方法總是在主線程上調用。 – NSFeaster

+0

您的隊列設置聽起來不錯,但每個操作都應在下一個啓動之前重新加載表視圖(在主線程上)。 – Wain