在多个控制器之间传递/更新变量的值

时间:2017-12-29 10:00:52

标签: ios swift3 swift2 parameter-passing updating

我正在努力工作。所以在我的项目中,我使用了7个控制器和一个变量,我在所有7个控制器中使用了它。我的问题是,我将如何更改变量的值(比如第一个控制器),以便它自动在所有控制器上更新。

执行此操作的正确方法是什么?我将如何进行?

3 个答案:

答案 0 :(得分:0)

使用singleton共享实例创建全局变量。 Herer is the link, its a step by step tutorial

答案 1 :(得分:0)

使用Singleton Class

class GlobalObjects {
    static let shared = GlobalObjects()
    fileprivate init() {
    }  
    var MyDetail : User!
}

使用:

print(GlobalObjects.shared.MyDetail)
  1. 使用单例类变量更新 viewWillAppear 方法中的值。
  2. OR

    1. 使用NotificationCenter,在所有7个控制器上添加观察者并发布通知以更新值

答案 2 :(得分:-1)

您可以使用变量的didSet可能性。像这样的东西

var yourVariable: Any? = nil {
    didSet {
          yourActionToUpdateUI()
    }
}