根據我的理解,NSOperation
的長期運行任務應該在其main
函數中實現,在NSOperation
被添加到NSOperationQueue
之後,它會被觸發。NSOperation有一個以上的長時間任務
這對我來說很好,直到現在,我的NSOperation
有一個以上的主要任務。
第一項任務是解析一個文檔(在打開文檔時應該只應用一次)。
第二項任務是將NSData
附加到文檔(對於打開的文檔可以多次調用)。
我能想到的唯一的辦法就是這兩個任務移動到main
功能,並在運行時執行該任務的決定:
- (void)main
{
@autoreleasepool
{
if(firstTaskTsDone)
{
[self doSecondTask];
}
else
{
[self doFirstTask];
firstTaskTsDone = YES;
}
}
}
但我想,必須有一個更好的方式來實現這一目標?
ALSO:如何使用併發操作實現相同的結果?