DestinationViewController Segue和UINavigationController swift
所以我有一个像这样的prepareForSegue方法:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "fromEventTableToAddEvent" { let addEventViewController: AddEventViewController = segue.destinationViewController as! AddEventViewController addEventViewController.newTagArray = newTagArray } }
但是,在运行时,应用程序崩溃并且logging了这条消息:
无法投射“UINavigationController”types的值
出现这个错误是因为addEventControllerembedded到导航控制器中,但是我不知道如何设置segue,以便将destinationViewController设置为NavigationController,还允许将prepareForSegue方法中的variables传递给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 } }