作者valda (valda)
看板MacDev
標題[問題] NSOperationQueue by order execute
時間Sun Jul 19 03:34:12 2015
請教一下關於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
請問有哪裡做錯嗎?
怎樣才能修正回來呢?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.200.200
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1437248054.A.AEF.html
→ uranusjr: 請給 blockMethod1 實作 07/19 03:55
→ valda: blockMethod1是用AFNetworking call web api 07/19 04:03
→ Crazyming411: 如同 uranusjr 提到,這與 blockMethod1 實作有關。 07/19 11:33
→ Crazyming411: 簡單實驗了一下的結果,你可以參考看看: 07/19 11:34