J'ai un Bool que j'utilise dans une instruction if. La variable commence par NO, puis j'entre l'instruction if, qui s'exécute si la valeur de bool est NO. Ensuite, je change la valeur à YES à la fin de l'instruction if pour qu'elle ne s'exécute plus, standard. Ce que je veux faire est en quelque sorte de changer cette variable YES à la fin, mais il faut revenir à NO après environ cinq secondes. Comment cela peut-il être fait?Comment faire BOOL avoir une valeur pendant une courte période, puis modifier dans Objective-C
1
A
Répondre
2
Vous pouvez utiliser NSTimer
:
[NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(resetSomeBoolean:)
userInfo:nil
repeats:NO];
- (void) resetSomeBoolean:(NSTimer *) timer {
self.someBoolean = NO;
}
Aussi, assurez-vous que cette propriété (someBoolean
) est atomic
.
0
Peut-être définir quelque chose comme:
... your code ...
myBool = YES; // set some senteniel.
[NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(resetMyBool:)
userInfo:nil
repeats:NO];
return;
}
et ajouter quelque chose comme
- (void) resetMyBool:(NSTimer*)meTimer {
myBool = NO;
}
à votre classe. Mais êtes-vous sûr que vous avez besoin de faire cela - semble facile d'obtenir une condition de course.
Merci,
Dw.
Questions connexes
- 1. Comment exécuter une animation pendant une courte période?
- 2. Comment puis-je conserver un son pendant une longue période?
- 3. Clé primaire lorsque vous stockez beaucoup de données pendant une courte période de temps
- 4. C# - Vérifier un bool pour une valeur, puis retournez-le
- 5. Comment définir une constante BOOL?
- 6. comparaison Bool Valeur dans Matrix
- 7. mod_rewrite pour faire une URL courte
- 8. Comment verrouiller la fonction de plusieurs demandes ajax dans une courte période sans threads
- 9. modifier une valeur dans viewstate
- 10. Vérifiez si une application est inactif pendant une période de temps et le verrouiller
- 11. comment modifier la valeur du dictionnaire pendant la boucle
- 12. Puis-je modifier une valeur dans le fichier setting.setting?
- 13. Comment exécuter une tâche pour une période spécifique en Java.
- 14. Faire une requête pour chaque jour dans une période, le transformant en une requête
- 15. Comment forcer mysql à mettre en cache une requête pendant une période donnée?
- 16. Comment préformer une action après une courte pause?
- 17. Mon site Web VB.NET se bloque pendant une longue période puis affiche rien
- 18. Comment dérouler une courte boucle en C++
- 19. Faire un insert SQL sans avoir à rechercher une valeur dans une autre table d'abord
- 20. Modifier une valeur de registre dans VB.NET
- 21. Comment modifier une valeur RowData spécifique dans un jqGrid?
- 22. Puis-je avoir une colonne calculée modifiable?
- 23. nombre de jours dans une période qui tombent dans une autre période
- 24. uuid de coupe plus loin pour faire une chaîne courte
- 25. Comment initialiser une période avec des secondes
- 26. Comment avoir une valeur ENUM dans CommandParam en XAML
- 27. Comment faire pour modifier une icône PNG dans Qt
- 28. Modifier une valeur dans une liste déroulante générée dynamiquement
- 29. Comment puis-je simplement changer une variable de classe d'une autre classe dans ObjectiveC?
- 30. Reporting Services - Obtenir les résultats pour une période spécifique sur une période plus longue