2011-01-10 5 views
0

Lorsque je lance un deuxième thread d'arrière-plan et que j'interromps le thread principal, mon premier répondeur est-il toujours en action? Par exemple, j'ai une méthode d'écrasement appelée -flagsChanged et je me demandais si elle serait toujours active si le thread principal est hors ligne.Cocoa - NSThread et premier répondeur

Merci,

Kevin

Répondre

4

Ne pas mettre en pause le fil conducteur depuis the main thread is responsible for handling events et votre application interface utilisateur deviendra irresponsive. Si le thread principal est en pause, il ne gérera pas les événements, il ne distribuera donc pas les événements clés au premier répondeur. Si vous pensez que vous devez mettre en pause le thread principal, vous devez probablement recréer votre programme de sorte que le comportement qui nécessite de dormir (s'il faut dormir) soit décalé par rapport à un thread secondaire. Si vous devez mettre à jour l'interface utilisateur à partir d'un thread secondaire, vous devez utiliser -performSelectorOnMainThread:withObject:waitUntilDone:.

Questions connexes