我正在尝试通过segue将一些数据从一个情节提要传递到另一个情节提要,第二个情节提要VC嵌入在导航控制器中,我找不到在代码中添加nav控制器的位置,当我得到一个错误提示时segue链接不存在。
这是我的代码:-
准备。
let storyboard = UIStoryboard(name: "ProdProj", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "ProjectsListVC") as? ProjectsListVC
vc!.projectsSentT = ProjecctProd
vc!.logedInAsT = "Prod"
和我的表演。
self.performSegue(withIdentifier: "toProjectsProd", sender: nil)
如果我添加导航以执行segue,则会收到一条错误消息,说明该名称没有segue。 如果我不添加导航,则说没有名称为ProjectsListVC
的视图控制器。答案 0 :(得分:3)
您必须考虑下一个情节提要中的导航控制器,因此您的prepare(for:sender :)函数应如下所示:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = (segue.destination as! UINavigationController).topViewController as! DestinationViewController
vc!.projectsSentT = ProjecctProd
vc!.logedInAsT = "Prod"
}
其中DestinationViewController是导航控制器中嵌入的第二个视图控制器的名称。并直接使用segue.destination和viewController的实例。
答案 1 :(得分:0)