我有一個數據加載操作,需要從主線程運行,以避免潛在的阻塞問題。爲此,我使用NSOperationQueue和NSOperations。如何在NSOperationQueue完成之前阻止NSOperation?
然而,出現的一個問題是,其中一個操作存在根據傳入信息產生附加操作。試圖解決這個問題也解決了我在別處遇到的一些小問題,因爲我碰到的解決方案是給NSOperation它是自己的子任務隊列。
問題是,只要'main'退出,NSOperation將被標記爲'finished',而不管子隊列是否已經完成處理;我如何覆蓋這種行爲?
聽起來像你正在尋找[併發'NSOperation'](http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSOperation_class/Reference/Reference.html)? – 2013-05-10 03:00:34
@CarlVeazey不......確切地說,但它看起來像用於創建一個併發NSOperation的步驟做同樣的事情,我實際上在尋找。你必須重寫啓動方法如何處理isFinished/isExecuting,我認爲這正是我需要在這裏做的。我需要覆蓋啓動,因此它不會設置isFinished即時主要目的。這意味着當我改變這些屬性時,處理KVO的東西,哦,快樂。 – RonLugge 2013-05-10 03:11:42
@CodaFi我不確定自己是否清楚自己,但你提出的答案似乎沒有道理。依賴性阻止了一個操作的執行,它不會阻止它在開始執行時完成。至少,這就是參考文獻所說的。 – RonLugge 2013-05-10 03:53:24