【发布时间】:2017-09-28 19:54:59
【问题描述】:
在 iOS 中的典型转场中,视图控制器 A 转场到 B,我在 A 中覆盖 prepare(for:sender:),以将一些数据传递给 B。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let b = segue.destination as! ViewControllerB
b.someData = ...
但是如果B 有一个嵌入的子视图控制器,此时它还不会被加载。是否有推荐的方法将数据传递给嵌入式子视图控制器?
我可以在ViewControllerB 上定义字段,然后让它在viewDidLoad 方法中将它们传递给孩子。 (此时,子视图控制器 出现在 B 的 childViewControllers 数组中。)但是,这对我来说似乎有点难看。
【问题讨论】:
-
孙子和祖父母与代表之间的直接沟通怎么样?
-
好吧,如果你有 A->B->C,并且你需要从 A->C 传递数据,你可以将它设置为 B,在 B 内部做同样的设置为 C .
标签: ios uiviewcontroller segue