查看控制器与swift的通信

时间:2015-03-20 00:30:06

标签: swift

我有两个标签,所以我有两个视图控制器,我需要从第一个视图控制器更新第二个标签。例如:

用户在第一个标签中按下按钮(所以第一个视图控制器)然后我必须更新第二个标签内的标签。

我想我必须从第一个视图控制器调用第二个视图控制器的方法。

使用swift做到最好的是什么?

2 个答案:

答案 0 :(得分:0)

您需要在一个视图控制器中声明一个属性,以使其知道另一个属性。在引用一个声明

@IBOutlet weak var otherController:OtherViewController!

在实例化所有视图时,在AppDelegate中放置引用,如下所示:

@IBOutlet weak var referencingController: AController!
// ...
referencingController.otherController = otherController

现在您有了引用,您可以在引用类中使用它,如

otherController.doSomething()

请注意上述!声明中的var。这将在使用时自动解包otherController

答案 1 :(得分:0)

有两种方法可以实现它。

  1. 首先声明一个委托 - 添加一个方法,然后在第二个方法中实现它 (如果您确定在点击时只需要更新一个VC(第二个)

  2. 使用通知中心发布通知并从其他VC观察通知。 (如果您认为将来可能会有许多VC需要更新)。

  3. 快乐的编码。