[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
}
}