如何使UILabel与数据模型保持最新

时间:2018-08-27 10:44:54

标签: ios swift uilabel

我在UILabel子类中有一个UIViewController,现在我的代码是这样的:

class ViewController: UIViewController {
  @IBOutlet var myLabel: UILabel!

  override func viewDidLoad() {
     super.viewDidLoad()
     myLabel.text = "\(DataModel.varialbleExampleData)"
  }
}

但是,这里的variableExampleData是一个变量,并且可能随时间而变化,因此,每当标签更改时如何更新标签?

PS:很抱歉,这个问题听起来很愚蠢或显而易见

2 个答案:

答案 0 :(得分:2)

如果视图控制器中有此数据,则可以使用didSet。因此,每次您设置数据时,它都会更改文本,例如

class ViewController: UIViewController {
  @IBOutlet var myLabel: UILabel!
  var data: DataModel? {
      didSet {
          myLabel.text = "\(data.variableExampleData)"
      }
  }

  override func viewDidLoad() {
     super.viewDidLoad()
  }
}

答案 1 :(得分:0)

每当数据模型更改时,我就使用NotificationCenter发布Notification。然后在我的控制器上添加观察者