2015-02-24 26 views
0

我一直在使用NSOperationQueueaddOperationWithBlock:在後臺線程中運行代碼,像這樣被:我不知道如果我使用NSOperationgQueue的addOperationWithBlock錯誤

我擔心我可能是做錯了。我無法看到提取隊列能夠知道何時完成操作的方式,因爲沒有完成調用,並且我不確定它是否正在跟蹤跨線程的活動以確保它仍在運行。

而且使用這個的關鍵是我不會將它們排列在單個文件中,並且需要更長的時間來處理,所以我不會一次運行它們並使用太多的內存。

編輯:我知道我不需要做dispatch_async,但它只是一些基於塊的代碼的示例,我可能會調用哪些可能做同樣的事情,或者可能返回的Web請求拖延之後。

回答

0

那麼,你的代碼將運行在後臺塊。如果你正在使用一個隊列來確保一個操作只在下一個操作完成時纔開始,那麼你可能會遇到麻煩:你碰到NSOperationQueue的塊已經完成,並且發送了後臺代碼給GCD ,而不是在後臺代碼實際完成時可能會晚得多。

+0

那麼如何通知NSOperationQueue我的操作完成了? – Andrew 2015-02-24 13:05:50