2009-12-10 7 views
1

J'ai un IBAction qui ressemble à ceci:iPhone SDK - Comportement asynchrone?

self.title = @"Logging in ..."; 
[MyClass myLongRunningOperation]; 

Mon problème est que le titre du contrôleur de vue ne soit pas mis à jour jusqu'à ce que l'opération en cours d'exécution à long terminée. Il semble que ce soit mis dans une file d'attente pour plus tard, alors que mon opération de longue durée s'exécute tout de suite. Je suis assez nouveau à la plate-forme, alors pardonnez mon ignorance ici.

Merci, - Felix

+0

Combien de réponses j'accepte à mes questions? Eh bien, d'habitude, je ne pose pas de questions ici si la réponse est triviale. Ceci étant une exception car je suis un très gros noob Obj. –

+0

Sneakyness suggère que vous revenez sur les questions que vous avez posées et acceptez les bonnes réponses. – Andiih

+0

Certains d'entre eux n'ont pas de réponse correcte, à ce jour. Voir mes questions gmail/ffmpeg par exemple. –

Répondre

3

Vous bloquez le thread d'interface utilisateur. Pensez à utiliser

[self performSelectorOnBackgroundThread:@selector(doLongRunningOperation) withObject:nil]; 

Vous voulez probablement vraiment lire le Threading Programming Guide à un moment donné.

+0

Aussi: http://developer.apple.com/cocoa/managingconcurrency.html (parle de l'utilisation de NSOperation pour gérer la concurrence plutôt que de traiter directement les threads) – Malaxeur

+0

Merci beaucoup. Je vais certainement regarder dans le guide de filetage! –