[iOS] 遷移先Controllerに値を渡す方法

2017/04/28   #iOS  #Swift 
このエントリーをはてなブックマークに追加
  • prepare を override する。
  • segue.destination で遷移先Controllerがとれる
  • キャストする(例では遷移先がUINavigationController)
  • UINaivigationController の場合はさらに紐づくControllerをとる
  • とれたControllerのフィールドに値をセットする
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let navigationController = segue.destination as! UINavigationController
        let topViewController = navigationController.topViewController as! TopViewContoller
        
        topViewController.sendText1 = self.customerId.text!
        topViewController.sendText2 = self.password.text!
    }
class TopViewContoller: UIViewController {
    
    var sendText1:String = ""    // <- ここにセット
    var sendText2:String = ""    // <- ここにセット