2010-01-15 5 views
1

Je me demande ce qu'il se passe si mon NSTimer se déclenche toutes les secondes et que ma fonction prend 2 secondes pour effectuer la tâche.NSTimer et longue tâche

Merci pour votre réponse.

Thierry

Répondre

1

Est-ce que votre fonction est bloquante? Selon la documentation,

Une minuterie n'est pas un mécanisme en temps réel; il ne se déclenche que lorsque l'un des modes de boucle d'exécution auxquels le chronomètre a été ajouté est en cours d'exécution et qu'il est capable de vérifier si le temps d'allumage de la minuterie a passé. Si le temps de déclenchement d'une minuterie se produit alors que la boucle d'exécution est dans un mode qui ne surveille pas la minuterie ou pendant une longue légende, la minuterie ne se déclenche pas jusqu'à la prochaine vérification de la minuterie. Par conséquent, l'heure réelle à laquelle le chronomètre se déclenche potentiellement peut être une période de temps significative après le temps de tir programmé.

Par conséquent, votre minuterie pas feu pendant la tâche si elle bloque.