Как поддерживать UILabel в актуальном состоянии с моделью данных - PullRequest
0 голосов
/ 27 августа 2018

У меня есть UILabel внутри UIViewController подкласса, и сейчас мой код выглядит примерно так:

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

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

Но здесь variableExampleData - это переменная, которая может со временем меняться, так как я могу обновлять метку всякий раз, когда она меняется?

PS: извините, если этот вопрос звучит глупо или очевидно

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Я использовал NotificationCenter для публикации Notification при каждом изменении модели данных. Затем добавил наблюдатель на моем контроллере

0 голосов
/ 27 августа 2018

если у вас есть эти данные в вашем контроллере представления, вы можете использовать didSet. Так что он меняет текст каждый раз, когда вы устанавливаете свои данные, как

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

  override func viewDidLoad() {
     super.viewDidLoad()
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...