2010-07-18 4 views
3

Si j'utilise un appel performSelectorOnMainThread dans un thread détaché, à quel moment le thread principal exécute-t-il la requête? Le fait-il immédiatement après la fin de l'opération du thread principal en cours ou existe-t-il un autre type de hiérarchie qui détermine l'exécution de l'appel performSelectorOnMainThread?Quand un appel performSelectorOnMainThread est-il exécuté?

Répondre

2

Il s'exécute sur le thread principal lors de l'itération suivante de la boucle d'exécution du thread principal.

Citant la documentation d'Apple:

Cette méthode file d'attente le message sur la boucle d'exécution du thread principal en utilisant la boucle d'exécution par défaut des modes qui est, les modes associés aux NSRunLoopCommonModes constants. Dans le cadre de son traitement normal de boucle d'exécution, le thread principal supprime le message (en supposant qu'il s'exécute dans l'un des modes de boucle d'exécution par défaut) et appelle la méthode souhaitée.

Questions connexes