請教一下關於NSOperationQueue的問題
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
NSOperation *done = [NSBlockOperation blockOperationWithBlock:^{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSLog(@"success");
}];
}];
NSOperation *op = [NSBlockOperation blockOperationWithBlock:^{
[self blockMethod1:^{
NSLog(@"method1 done");
}];
}];
[done addDependency:op];
[queue addOperation:done];
[queue addOperation:op];
我期望的結果是先print method1 done再print success出來
已經設定好done需要在op執行後再執行
但事與願違
真正的結果是先print success再print method1 done
請問有哪裡做錯嗎?
怎樣才能修正回來呢?
感謝