所以我有一个像这样的prepareForSegue方法:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "fromEventTableToAddEvent" {
let addEventViewController: AddEventViewController = segue.destinationViewController as! AddEventViewController
addEventViewController.newTagArray = newTagArray
}
}
然而,在运行时应用程序崩溃并日志输出以下消息:
无法转换“UINavigationController”类型的值
出现错误是因为 addEventController 嵌入在导航控制器中,但是我不确定如何设置segue,以便将destinationViewController 设置为NavigationController,但也允许我将prepareForSegue 方法中的变量传递给addEventController
那么我该如何使用 Swift 来做到这一点呢?
我非常感谢您的帮助和您提供的回复时间。它有很大帮助
您只需要访问导航控制器的 topViewController,即 AddEventViewController。这是代码:
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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)