2013-09-24 3 views
0

Je construis une application où la valeur d'un entier peut changer aléatoirement et je veux pouvoir cacher ou afficher un UIButton en fonction de la valeur de cet entier. Cependant, je ne sais pas comment déclencher le changement d'état lorsque la valeur de l'entier change.Déclenche une action lorsque la valeur d'un entier change

Existe-t-il un moyen facile de le faire sur iOS?

Un grand merci pour votre aide

+0

Avez-vous essayé quoi que ce soit? - Et s'il vous plaît montrer du code, de préférence la partie où l'entier change? – Wez

Répondre

1

Utiliser modèle d'observateur pour cette

[self.myVC addObserver:self forKeyPath:@"IntegerProperty" options:0 context:nil]; 
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
{ 
    if (object == self.myVC && [keyPath isEqualToString:@"IntegerProperty"]) { 
     //do work 
    } 
} 
+0

Reactive Cocoa vous propose les API KVO dans une belle interface réactive. Quiconque vise le KVO devrait le vérifier. – allprog

0

vous pouvez utiliser des concepts d'observateurs de valeur clés, il fonctionne comme centre de notification ...

1

Votre entier doit être une propriété d'une classe et vous devez accéder correctement via les accesseurs fournis (utilisez donc self.xxx). Ensuite, vous pouvez utiliser KVO.

Questions connexes