[問題] Block 與 NSURLSESSION 的疑問
目前想寫類似這樣的功能
[self callAPIWithCompletionHandler:^(NSString *strResponse) {
我以為會在這邊執行下方NSLUELSESSION完才繼續往下,所以在這邊寫了
if(xxx=xxx){
[self.navigation push xxx];
}
else{
self.navigation push.....
}
}
-(void)callAPIWithCompletionHandler : (void (^) (NSString * strResponse))
completionHandler
{
NSURLSessionTask *task = [session uploadTaskWithRequest:request
fromData:body completionHandler:^(NSData * _Nullable data, NSURLResponse *
_Nullable response, NSError * _Nullable error) {
// 這邊掠過
}];
[task resume];
}
但她都會先跑完 if(xxx=xxx){
[self.navigation push xxx];
}
else{
self.navigation push.....
}
之後等讀取完成後再跑一次,導致我同一頁推出去不止一次..
按上方返回後可以看到大概跑了2.3頁,請問是否我理解錯誤,在block內會先跑到底
等回傳後又再跑一次,還是我哪裡寫法有問題呢!?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.76.64
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1499534810.A.E0D.html
→
07/09 02:18, , 1F
07/09 02:18, 1F

→
07/09 02:23, , 2F
07/09 02:23, 2F
推
07/09 02:27, , 3F
07/09 02:27, 3F
推
07/09 09:50, , 4F
07/09 09:50, 4F
→
07/09 09:50, , 5F
07/09 09:50, 5F
→
07/09 10:14, , 6F
07/09 10:14, 6F
→
07/09 10:16, , 7F
07/09 10:16, 7F
→
07/09 10:18, , 8F
07/09 10:18, 8F
→
07/09 11:04, , 9F
07/09 11:04, 9F
→
07/09 11:25, , 10F
07/09 11:25, 10F
→
07/09 11:26, , 11F
07/09 11:26, 11F
→
07/09 11:26, , 12F
07/09 11:26, 12F
→
07/09 11:27, , 13F
07/09 11:27, 13F
→
07/09 16:21, , 14F
07/09 16:21, 14F
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章