したがって、次のようなprepareForSegueメソッドがあります。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "fromEventTableToAddEvent" {
let addEventViewController: AddEventViewController = segue.destinationViewController as! AddEventViewController
addEventViewController.newTagArray = newTagArray
}
}
ただし、実行時にアプリがクラッシュし、次のメッセージが吐き出されます。
タイプ 'UINavigationController'の値をキャストできませんでした
エラーは、addEventControllerがNavigation Controllerに埋め込まれているため発生しますが、destinationViewControllerがNavigationControllerに設定されるようにセグエを設定する方法がわかりませんが、prepareForSegueメソッドの変数をaddEventControllerに渡すこともできます
それでは、Swiftを使用してこれをどのように行うのでしょうか?
あなたの助けとあなたがそれに応じて提供する時間を非常に感謝します。それはたくさん助けます
AddEventViewControllerとなるNavigation ControllerのtopViewControllerにアクセスするだけです。コードは次のとおりです。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "fromEventTableToAddEvent" {
let nav = segue.destinationViewController as! UINavigationController
let addEventViewController = nav.topViewController as! AddEventViewController
addEventViewController.newTagArray = newTagArray
}
}