【发布时间】:2013-02-21 12:45:37
【问题描述】:
据我了解,NSOperation 的长期运行任务应在其main 函数中实现,一旦将NSOperation 添加到NSOperationQueue 就会触发它。
这对我来说效果很好,直到现在,我的 NSOperation 有不止一项主要任务。
第一个任务是解析一个文档(打开文档时应该只应用一次)。
第二个任务是将NSData 附加到文档中(对于打开的文档可以多次调用)。
我能想到的唯一解决方案是将两个任务都移到 main 函数中,并在运行时决定执行哪个任务:
- (void)main
{
@autoreleasepool
{
if(firstTaskTsDone)
{
[self doSecondTask];
}
else
{
[self doFirstTask];
firstTaskTsDone = YES;
}
}
}
但我想一定有更好的方法来实现这一点?
另外:如何使用并发操作获得相同的结果?
【问题讨论】:
标签: ios nsoperation nsoperationqueue