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

问题描述 投票:0回答:3

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

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

ios swift3 swift2 parameter-passing updating
3个回答
0
投票

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


0
投票

使用Singleton类

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

使用:

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

要么

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

-1
投票

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

var yourVariable: Any? = nil {
    didSet {
          yourActionToUpdateUI()
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.