我想在 NSOperation 中按顺序执行代码。这可以通过实例化 NSInvocationOperation 轻松完成,例如在我的控制器中:
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *prepare = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(prepare)
object:nil];
NSInvocationOperation *load = [[NSInvocationOperation alloc] initWithTarget:self
selector:@selector(loadData)
object:nil];
[load addDependency:prepare];
这完美地工作,最重要的是我可以保持操作之间的依赖关系。但正如您所见,我必须创建封装操作本身的方法。我想将调用实例化为代码片段,并保持依赖关系。因此,对于不再使用的方法,我的视图控制器将是干净的。
我看到有一个 ^block 选项,但似乎没有维护依赖关系。
谢谢