2012-05-09 38 views
0

我已經創建了一個自定義隊列,我正在做一些處理,從而創建一些由UITableView用來重新加載自己的對象。在我的應用程序中某處調用了自定義隊列,並且在處理完成後,我正在主UI隊列中重新加載我的表視圖。到目前爲止這麼好,但是當我的表視圖重新加載時,自定義隊列再次被調用,從而修改我的數組。因此,我期望在cellforrowatindexpath方法中獲得出界異常。我如何擺脫與GCD這種類型的併發問題。在這些類型的場景中使用哪些準則?隊列和主UI隊列之間的變量訪問

+1

是否有任何理由,你不能只複製隊列與'NSArray arrayWithArray'? –

回答

0

,而不是添加表重新加載到你的主隊列,儘量

[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:YES]

這將刷新主線程在桌子上,但暫停您的自定義的隊列中,直到它完成,從而防止你的錯誤正在經歷。