は、以下のコードを確認してください別のビューコントローラにAPIからのデータを渡す機能がsetCustomerValues
前に実行される準備し、それはだから、私はStep2ViewController.swift
でregistrationToken
変数を使用することはできませんなし。スウィフト
Q
スウィフト
0
A
答えて
0
SegueをボタンからStep2ViewControllerに接続する代わりに、View Controllerから接続します。このようにすると、ボタンがタッチされたときにセグが自動的に実行されません。
次に、登録トークンを取得した後にsegueを明示的に実行するために、setCustomerValuesコールバックからperformSegueを呼び出します。コールバックがメインスレッドにない場合は、performSegueを呼び出す前にメインスレッドにdispatch_asyncを行う必要があります。
0
self.setCustomerValues(response: response)
の後にviewcontrollerをプッシュする必要があります。あなたがボタンを押したときにViewControllerをプッシュしないでください。sendActivationCode
+0
はあなたにPhuocLuongありがとうありがとう – nouf
0
この問題を解決する最善の方法は、ボタンから「内部イベントをタッチアップする」ボタンを作成し、ボタンの「アクション」にエッジを作成しないことです。
は、次のコードを使用します。
@IBAction func sendActivationCode(_ sender: UIButton) {
service.Register(phoneNumber: self.mobileNumberTxt.text!, callback: {
(response) in
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("Step2ViewController") as! Step2ViewController
vc.registrationToken = (response["token"]! as! String)
vc.code = response["code"] as! Int
self.navigationController?.pushViewController(vc!, animated: true)
})
}
関連する問題
- 1. スウィフト3(スウィフトとFirebaseプロジェクト)
- 2. スウィフト2.3ではスウィフト3
- 3. Firebaseスウィフト - Firebase(スウィフト)では、キー
- 4. スウィフト2ではスウィフト3
- 5. スウィフト
- 6. スウィフト
- 7. スウィフト
- 8. スウィフト
- 9. スウィフト
- 10. (スウィフト)
- 11. スウィフト
- 12. スウィフト
- 13. スウィフト
- 14. スウィフト
- 15. スウィフト
- 16. スウィフト
- 17. スウィフト
- 18. スウィフト
- 19. スウィフト
- 20. スウィフト
- 21. スウィフト:
- 22. スウィフト
- 23. スウィフト:
- 24. (スウィフト)
- 25. スウィフト
- 26. - スウィフト
- 27. スウィフト
- 28. スウィフト
- 29. スウィフト
- 30. スウィフト、
はマイクTaverneの – nouf