[swift] segueで画面遷移時の値の受け渡し
目次
segueで画面遷移時の値の受け渡し
サンプルコード
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { if (segue.identifier == "segue") { var secondView : SecondViewController = segue.destinationViewController as SecondViewController secondView.varItem = varItem } }
*secondViewControllerにもvarItemという変数を準備しておくこと
別のNavigationController上のviewControllerへの受け渡しする時には上のコードで実行すると
Could not cast value of type 'UINavigationController'
というエラーが発生する
回避するコードは以下の通り
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { if (segue.identifier == "segue") { let nav = segue.destinationViewController as! UINavigationController let secondView = nav.topViewController as! SecondViewController secondView.varItem = varItem } }