目前想寫類似這樣的功能
[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內會先跑到底
等回傳後又再跑一次,還是我哪裡寫法有問題呢!?