通过不同故事板上的 segue 和导航将数据从一个控制器传递到另一个控制器,Swift、iOS、Xcode
Pass data from one controller to another via segue and Navigation on different storyboard, Swift, iOS, Xcode
我试图通过 segue 将一些数据从一个故事板传递到另一个故事板,第二个故事板 VC 嵌入在导航控制器中,我找不到在代码中添加导航控制器的地方,当我我会收到一条错误消息说 segue link 不存在吗?
这是我的代码:-
准备。
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
的视图控制器
截图。
The link and name of segue
您必须考虑下一个故事板中的导航控制器,因此您的 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 是嵌入在 navigationController 中的第二个视图控制器的名称。并直接使用 segue.destination 和 viewController 的实例。
首先,在第一个故事板上创建故事板参考,如下所示:
接下来,为引用创建 segue:
要将数据发送到新控制器,请使用准备方法 https://developer.apple.com/documentation/uikit/uiviewcontroller/1621490-prepare
我试图通过 segue 将一些数据从一个故事板传递到另一个故事板,第二个故事板 VC 嵌入在导航控制器中,我找不到在代码中添加导航控制器的地方,当我我会收到一条错误消息说 segue link 不存在吗?
这是我的代码:-
准备。
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
的视图控制器截图。 The link and name of segue
您必须考虑下一个故事板中的导航控制器,因此您的 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 是嵌入在 navigationController 中的第二个视图控制器的名称。并直接使用 segue.destination 和 viewController 的实例。
首先,在第一个故事板上创建故事板参考,如下所示:
接下来,为引用创建 segue:
要将数据发送到新控制器,请使用准备方法 https://developer.apple.com/documentation/uikit/uiviewcontroller/1621490-prepare