2017-08-10 1 views
0

Je voulais pouvoir lier une variable à un UILabel. J'ai essayé de créer une sorte de minuterie et je voulais m'assurer qu'à chaque fois qu'une variable counter est modifiée, le texte de l'étiquette sera automatiquement mis à jour sans l'écrire explicitement.Lier une variable rapide à un autre

Je pensais que d'utiliser quelque chose comme ceci:

var _counter: Double = 0.0 
    var counter: Double{ 
     get{ 
      return _counter; 
     } 

     set{ 
      timeLabel.text = String(newValue); 
      _counter = newValue; 
     } 

} 

Mais je ne suis pas sûr que ce soit la meilleure façon (je ne l'ai pas aussi réussi à le faire fonctionner de cette façon).

Que suggérez-vous de faire?

+0

Avez-vous essayé KVO? https://cocoacasts.com/key-value-observing-kvo-and-swift-3/ – PeejWeej

Répondre

1

bien faire votre travail de code, vous pouvez essayer ceci:

var _counter: Double = 0.0 { 
     didSet{ 
     timeLabel.text = String("\(_counter)") 
     //old values can be retrieved by calling print("\(oldValue)") 
     } 
}