私の理解では、 の長時間実行タスクはNSOperation
その関数に実装する必要があり、が に追加されるとmain
トリガーされます。NSOperation
NSOperationQueue
これは、私NSOperation
が複数の主要なタスクを持っている今まではうまくいきました。
最初のタスクは、ドキュメントを解析することです (ドキュメントを開くときに 1 回だけ適用する必要があります)。
2 番目のタスクはNSData
、ドキュメントに追加することです (開いているドキュメントに対して複数回呼び出すことができます)。
私が考えることができる唯一の解決策は、両方のタスクをmain
関数に移動し、実行時に実行するタスクを決定することです。
- (void)main
{
@autoreleasepool
{
if(firstTaskTsDone)
{
[self doSecondTask];
}
else
{
[self doFirstTask];
firstTaskTsDone = YES;
}
}
}
しかし、これを達成するためのより良い方法があるに違いないと思いますか?
また、同時操作を使用して同じ結果を得るにはどうすればよいですか?