swift3でVCをdismiss時のcompletionが動きません。
何が原因かわかりませんが動く処理と動かない処理があります。
printで正常に
postDismiss1:
postDismiss2:
postDismiss3:
と3まで行く場合と
postDismiss1:
postDismiss2:
2までしか動かない場合があります。
DispatchQueue.main.asyncを外しても状況は同じでした。
なぜ、2まで進んでいて、dismissを実行しているのに3が動かない場合があるのか、想定される問題のご意見をお願いします。
swift
1/ 通信開始 2session.dataTask(with: req as URLRequest ) { data, response, error in 3 if error == nil { 4 if let data = data { 5 // 受信データ表示 6 let data8 = String(data: data, encoding: .utf8)! 7 print("resData: (data8)") 8 if data8.contains("OK") { 9 print("postDismiss1: ") 10 DispatchQueue.main.async { 11 print("postDismiss2: ") 12 self.dismiss(animated: false, completion: { 13 print("postDismiss3: ") 14 self.postDismissSetCond(true) 15 }) 16 } 17 } else { 18 print(error ?? "Error3") 19 self.getFailJob() 20 } 21 } 22 // 通信エラー(ネットワーク、サーバエラー) 23 } else { 24 print(error ?? "Error3") 25 self.getFailJob() 26 } 27 }.resume()
回答1件
あなたの回答
tips
プレビュー