从另一个ViewController中的一个ViewController控制变量/ IBOutlet

时间:2016-03-23 01:48:07

标签: ios swift viewcontroller

我是Swift的新手,所以我为几乎所有与Swift相关的知识缺乏道歉。

现在,我正在开发一个使用ARSlidingPanel库的应用程序,所以现在屏幕上有两个ViewControllers(主视图,背景为深色,面板视图为绿色背景) )。我希望能够将面板视图中的变量/调用函数设置为主视图。例如,如果我单击面板视图中的按钮,我想在主视图中显示一些文本。现在我已经开始使用静态变量了但是根据我对Java / Android的了解,我知道这可能不是正确的方法。有关清洁/更可接受的做事方式的任何提示吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

这里有几个不同的选择。但是,首先想到的是,如果你真的需要为同一个视图使用两个独立的视图控制器吗?。

  • 一种解决方案是使用代表。编写一个swift协议,它具有您想要公开的方法和功能,例如在视图控制器的出口中设置值,然后在一个视图控制器中实现协议。在另一个视图控制器中,您可以创建UIViewController类型的委托变量-let delegate:UIViewController - 并使用您的委托实例来修改视图。 Here's a guide on this
  • 更好的是,您可以将视图控制器添加为子视图控制器 你的观点,苹果提供了很多关于此的文档,你 可以find it here

希望这有帮助。