NSThread et performSelector:withObject:afterDelay:
apprenti bidouille
Membre
bonjour !
j'ai un petit problème qui va vous sembler bien basique, mais je ne sais pas comment m'en sortir :P
Voilà donc mettons par exemple dans ma méthode init :
dans ma méthode -(void)truc :
et évidement le performSelector n'est jamais appelé parce que le thread quitte avant je suppose... Mais alors comment faire ? (pitié pas des NSTimer j'en sors c'est la galère parce que j'ai besoin de l'arrêter et de le relancer tout le temps, et y'en a plein :P)
Merci de votre aide en tout cas
j'ai un petit problème qui va vous sembler bien basique, mais je ne sais pas comment m'en sortir :P
Voilà donc mettons par exemple dans ma méthode init :
[NSThread detachNewThreadSelector:@selector(truc) toTarget:self withObject:nil];
dans ma méthode -(void)truc :
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc]init];<br />[self performSelector:@selector(truc2) withObject:nil afterDelay:3];<br />[pool release];
et évidement le performSelector n'est jamais appelé parce que le thread quitte avant je suppose... Mais alors comment faire ? (pitié pas des NSTimer j'en sors c'est la galère parce que j'ai besoin de l'arrêter et de le relancer tout le temps, et y'en a plein :P)
Merci de votre aide en tout cas
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Mais ça ne marche pas mieux .....
Peut être que d'autres pourraient t'aider.
C'est effectivement un code simplifié , j'ai écrit ce code dans un petit projet de test pour être sûr que ça ne marche pas... :P
Personne n'a d'idée ?Â
Ceci dit dans mon cas ça devrait marcher, et puis c'est vraiment le fait que ce soit dans un NSThread qui pose problème, dès que tout se fait dans le thread principal tout marche...
Et si je fais un simple performSelector:withObject: ça marche aussi... C'est le withDelay qui ne lui plaà®t pas
Essaye en ajoutant:
[[NSRunLoop currentRunLoop] run];
Merci beaucoup mpergand, ca marche nickel ;) j'ai plus qu'à m'en servir dans mon application en espérant que ça marche aussi facilement