如何在没有任何推送序列的情况下快速从另一个视图控制器访问方法?
Posted
技术标签:
【中文标题】如何在没有任何推送序列的情况下快速从另一个视图控制器访问方法?【英文标题】:How can I access a method from another View Controller in swift without any push segues? 【发布时间】:2015-11-10 15:28:32 【问题描述】:所以我有两个视图控制器,Vc1 和 Vc2。我正在使用以下命令从 Vc1 导航到 Vc2:
let vc2 = Vc2(nibName: "Vc2", bundle: nil)
self.navigationController?.pushViewController(vc2, animated: true)
然后在 Vc2 中我这样做:
self.navigationController?.popViewControllerAnimated(true)
现在如何从 Vc2 访问 Vc1 中定义的方法? 注意:我没有使用故事板,而是使用 Xib 文件。
【问题讨论】:
您到底想做什么?为什么要访问另一个视图控制器中的方法?我怀疑有更好的方法来做到这一点,但我们需要知道你的目标是什么。 你可以试试NSNotificationCenter,***.com/questions/33299670/… 【参考方案1】:您必须在 Vc2 中保留 Vc1 的引用,然后执行以下操作:
let vc2 = Vc2(nibName: "Vc2", bundle: nil)
vc2.vc1 = self
self.navigationController?.pushViewController(vc2, animated: true)
然后就可以在 Vc2 中调用 self.vc1 上的 Vc1 方法了
【讨论】:
以上是关于如何在没有任何推送序列的情况下快速从另一个视图控制器访问方法?的主要内容,如果未能解决你的问题,请参考以下文章