2009-10-14 5 views
0

La documentation dit à propos timerWithTimeInterval: cible: sélecteur: userInfo: répète:Est-ce que timerWithTimeInterval: target: selector: userInfo: répète: se déclenche immédiatement ou va-t-il se déclencher une première fois après l'intervalle de temps spécifié?

Renvoie une nouvelle NSTimer qui, lorsqu'il est ajouté à une boucle de course, se déclenche après un nombre de secondes.

Je ne comprends pas complètement cela. Peut-être que quelqu'un peut dire s'il se déclenche immédiatement ou si la première fois que le sélecteur est appelé serait après l'intervalle de temps spécifié (c'est-à-dire 10 secondes)?

Répondre

0

Il tirera dans le donné timeInterval, donc pas immédiatement. Et lorsque vous définissez repeats à NO, il ne se déclenchera pas à nouveau, sinon, il enverra le premier message après timeInterval secondes, puis tous les timeInterval secondes.

+0

merci. Quelle serait une option pour tirer immédiatement mais avoir encore un intervalle suivant? Je suppose que je voudrais appeler le sélecteur. Mais cela pourrait probablement provoquer des collisions sur des intervalles serrés, non? –

+0

Je ne sais pas si performSelector: fonctionnera comme un message statique dans le code, donc si la méthode est poussée ou non sur la pile et exécutée immédiatement, comme d'habitude, mais je pense que ce sera le cas. Peut-être n'avez-vous même pas besoin de performSelector: et appelez le message directement. – Joost

+0

ah, ouais c'est ce que j'ai essayé de dire. Appeler la méthode (qui est spécifiée comme sélecteur) juste directement. –

Questions connexes