我有两个标签,所以我有两个视图控制器,我需要从第一个视图控制器更新第二个标签。例如:
用户在第一个标签中按下按钮(所以第一个视图控制器)然后我必须更新第二个标签内的标签。
我想我必须从第一个视图控制器调用第二个视图控制器的方法。
使用swift做到最好的是什么?
答案 0 :(得分:0)
您需要在一个视图控制器中声明一个属性,以使其知道另一个属性。在引用一个声明
@IBOutlet weak var otherController:OtherViewController!
在实例化所有视图时,在AppDelegate中放置引用,如下所示:
@IBOutlet weak var referencingController: AController!
// ...
referencingController.otherController = otherController
现在您有了引用,您可以在引用类中使用它,如
otherController.doSomething()
请注意上述!
声明中的var
。这将在使用时自动解包otherController
。
答案 1 :(得分:0)
有两种方法可以实现它。
首先声明一个委托 - 添加一个方法,然后在第二个方法中实现它 (如果您确定在点击时只需要更新一个VC(第二个)
使用通知中心发布通知并从其他VC观察通知。 (如果您认为将来可能会有许多VC需要更新)。
快乐的编码。