effectuer sélecteur après un retard seulement appelé une fois
J'ai une application dans laquelle j'ai besoin d'appeler une méthode d'instance, après tous les 1 ou 2 secondes. Maintenant, si je place
[self performSelector:@selector(getMatchListWS) withObject:nil afterDelay:1.0];
dans le viewDidLoad: ou viewWillAppear: , la méthode getMatchListWS est appelé qu'une fois que le point de vue s'affiche ou des charges. Mais j'ai besoin d'appeler la méthode en continu, même lorsque l'utilisateur est sur ce point de vue, sans la vision a disparu ou décharger. Alors, quel est le bon endroit ou délégué méthode dans laquelle je peux ajouter performSelector méthode afin qu'elle est appelée à chaque seconde, sans avoir à décharger la vue, encore et encore. Ai-je besoin de faire quelque chose en arrière plan ou sur le thread principal.? Merci à l'avance!!!!
OriginalL'auteur user2268539 | 2013-04-22
Vous devez vous connecter pour publier un commentaire.
Ce serait comme ça:
Mettre dans votre
viewDidLoad
, de sorte que vous n'avez pas de problèmes avec plusieurs événements à feu. Il peut arriver si vous le mettez surviewWillAppear
ouviewDidAppear
, et vous poussez ou montrant un modalViewController.repeats If YES, the timer will repeatedly reschedule itself until invalidated. If NO, the timer will be invalidated after it fires.
OriginalL'auteur Rui Peres
Jacky Garçon de réponse de votre travail. Une autre solution(si vous êtes désireux d'utiliser
performSelector
méthode) serait d'ajouter la même ligne dans votre définition de la méthode commeRemarque: Vous devez toujours appeler la méthode une fois lors de l'affichage des charges.
OriginalL'auteur MadhavanRP
Vous êtes juste de garder un retard de votre appel. Ce qui va le faire, c'est d'appeler votre méthode, après un délai de 1 seconde. Ce que vous devez faire est de régler la minuterie pour appeler votre méthode à plusieurs reprises après un intervalle de temps particulier.
OriginalL'auteur Anil