Oui, vous pouvez utiliser singleton
Cette méthode appel code updateLabel:
chaque seconde
Obj-c
NSTimer* timer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(updateLabel:) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
Swift
var myTimer: NSTimer? = nil
override func viewDidAppear(animated: Bool) {
myTimer = NSTimer(timeInterval: 1.0, target: self, selector: #selector(MyClass.updateAmazing),
userInfo: nil, repeats: true)
}
func updateAmazing() {
//update
}
En singleton, vous devez démarrer la minuterie, sur le contrôleur, vous commencez à mettre à jour l'étiquette et la valeur à partir de singleton.
IMPORTANT
Sans oublier d'invalider la minuterie.
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
myTimer.invalidate()
}
Avez-envoyer votre routine de mise à jour de la minuterie sur notifications Tout viewController qui est intéressé par l'affichage de cette minuterie peut écouter les notifications et mettre à jour leur étiquette. – vacawama
J'ai utilisé cette méthode, cela fonctionne parfaitement, merci! – Will