我通過NSFetchedResultsController管理UITableView,但是NSFetchedResultsController加載數據時,所有UI都被阻塞(我無法做任何事情,例如點擊,滾動...)。有沒有解決方案可以解決這個問題?謝謝!!!UI阻塞,而NSFetchedResultsController加載數據
回答
有一兩件事使你的應用程序的用戶友好時,要記住這一點很重要的是:
如果您有任何密集型,非
UI
相關的主要 主題計算時,你正在做的事情錯誤!
使得主線程UI
只將確保該UI
絕不會結冰,或者你描述它,得到「封殺」。因此,您的NSFetchedResultsController
應該在另一個線程上,以確保不會發生這種情況。
NSOperation
's絕對是解決您所描述問題的方法。 Here是一個教程和示例代碼,它將解釋類似的情況,以及如何解決它。
希望有助於!
這似乎是導致其他問題。 –
我從網上下載數據(如果需要的話),然後從核心數據加載數據到UITableView –
好極了!所以現在,你所要做的就是將所有這些功能放到一個方法中,然後把這個方法包裝在一個'NSOperation'中,然後在完成時調用'reloadData',並且你的'UI'不會鎖定! – msgambel
- 1. 如何加載大量數據到UITableView的不阻塞UI
- 2. CoreData阻塞UI
- 3. 批量插入數據庫阻塞UI?
- 4. 從AsyncTask中返回數據而不阻塞UI
- 5. C#等任務,而不阻塞UI
- 6. WPF:非阻塞UI
- 7. 在Android中加載靜態C++庫時阻塞UI
- 8. UI線程被阻塞
- 9. C#任務阻塞UI
- 10. ConnectAsync阻塞UI線程
- 11. ASP.Net異步阻塞UI
- 12. SmartThreadPool阻塞UI線程
- 13. WebClient.DownloadProgressChanged:Console.WriteLine()是阻塞UI線程
- 14. Silverlight UI線程阻塞
- 15. 可贖回阻塞UI
- 16. JQuery阻止UI元素阻塞問題
- 17. 如何高效地從Web服務器請求數據而不會阻塞UI?
- 18. 延遲從文件中加載UIImages而不阻塞主線程?
- 19. Xamarin Forms顯示阻塞加載消息
- 20. JavaScript非阻塞圖片加載?
- 21. AJAX呼叫阻塞頁面加載
- 22. 榛樹分佈式加載阻塞?
- 23. 下載JSon數據時點擊刷新按鈕時iOS UI被阻塞
- 24. 如何關閉對話框而不阻塞UI
- 25. Android Asynctask:等待整個計算而不會阻塞UI線程
- 26. 在哪裏訂閱findAllAsync()。asObserable()而不阻塞UI線程?
- 27. Java:等待線程結果而不阻塞UI?
- 28. 如何從AsyncTask獲取結果而不阻塞UI線程?
- 29. 異步填充ASP.NET ListBox而不阻塞UI
- 30. 如何反覆調用方法而不阻塞UI?
可能是你可以減少批量 – Robin
現在批量大小是20,那麼高嗎? –