我正試圖從我的視圖的負載上執行從互聯網上獲取數據。爲了不滯後UI,我使用等到後臺選擇器完成後調用新方法
[self performSelectorInBackground:@selector(alertThreadMethod) withObject:nil];
執行HTML下載和解析,它檢查是否有在線警報。然而,爲了在視圖上顯示信息,iOS說我需要使用主線程。所以我之後調用顯示代碼:
[self performSelectorInBackground:@selector(alertThreadMethod) withObject:nil];
[self loadAlert];
在這樣做,實際上[self loadAlert];
在後臺選擇(這是更快)之前運行。因此,它沒有背景中的選擇器應該提供的信息。
如何確保[self loadAlert];
之後運行?還是有更好的方法來做到這一點?
如果我將它移動到alertThreadMethod中,它會在後臺調用並出現錯誤(它不允許在後臺調用)。我會研究這些串行隊列。 – DGund
@DevinGund查看代碼示例,其中展示瞭如何將UI更新提交回主隊列。 – Rob
看起來像代碼示例#3(或2)將最適合我。我可以直接將此代碼複製到我的應用程序中嗎?我對調度隊伍不熟悉,我不確定是否需要先輸入任何東西。 – DGund