Si j'ai vue avec un performSelector mis à feu après un délai:Comment tuer un sélecteur qui se déclenche après un délai (sur l'iPhone)?
[self performSelector:@selector(generateBall) withObject:NULL afterDelay:1.5];
... mais je removeFromSuperview ce point de vue avant que les feux de sélection (par exemple, en raison de l'interaction de l'utilisateur), puis plantage de mon application .
Existe-t-il un moyen de tuer le sélecteur retardé dans la méthode dealloc pour cette vue?
EDIT:
J'ai essayé à la fois:
[[NSRunLoop mainRunLoop] cancelPerformSelector:theBall target:self argument:nil];
et
[[NSRunLoop currentRunLoop] cancelPerformSelector:theBall target:self argument:nil];
et alors que les deux travaux (me permettant de charger une nouvelle vue), le chargement des extrémités de vue précédente en me donnant un écran gris.
Je n'ai pas trouvé de didacticiels ou d'autres informations sur cancelPerformSelector autres que les documents Apple répertoriés, et la documentation sur les threads et les boucles d'exécution semble très compliquée (principalement parce qu'ils ne lisent pas échantillons de code, ce qui me faciliterait la tâche pour comprendre et comprendre ce qui se passait).
Merci pour l'ajout des liens. – kperryua
Pas de problème. Vous avez besoin du représentant plus que moi =). –
Toute idée où je pourrais voir un exemple de code de travail qui les utilise? C'est tout ce que j'ai trouvé jusqu'ici ... http://www.oomori.com/cocoafw/Foundation/NSRunLoop/cancelPerforrsWithTarget.html –