Re: [問題] NSOperationQueue by order execute

看板MacDev作者 (重新出發....)時間8年前 (2015/08/04 06:54), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《valda (valda)》之銘言: : 請教一下關於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 : 請問有哪裡做錯嗎? : 怎樣才能修正回來呢? : 感謝 基本上你用AFNetworking就是走Asyncronize! 所以當request送去web後,你的程式就會接著去run下一行,直到web完成吐回response再 由iOS 決定什麼時候讓delegate或block觸發! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 70.192.21.120 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1438642467.A.4ED.html

08/04 06:56, , 1F
當然印象中AFNetworking也可以強制使用Syncronize Call
08/04 06:56, 1F
文章代碼(AID): #1Ll_4ZJj (MacDev)
文章代碼(AID): #1Ll_4ZJj (MacDev)