[問題] NSOperationQueue by order execute
請教一下關於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
→
07/19 03:55, , 1F
07/19 03:55, 1F
→
07/19 04:03, , 2F
07/19 04:03, 2F
→
07/19 11:33, , 3F
07/19 11:33, 3F
→
07/19 11:34, , 4F
07/19 11:34, 4F
→
07/19 11:34, , 5F
07/19 11:34, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章