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];
これは完全に機能し、何よりも操作間の依存関係を維持できます。しかし、ご覧のとおり、操作自体をカプセル化するメソッドを作成する必要がありました。代わりに、呼び出しをコードのフラグメントとしてインスタンス化し、依存関係を維持したいと思います。したがって、私のView Controllerは、二度と使用されないメソッドに対してクリーンになります。
^block オプションがあるのを見ましたが、依存関係が維持されていないようです。
ありがとう