NSTimer récalcitrant, il fait ce qu'il veut [résolu]
wisky
Membre
dans une application, une fenêtre s'ouvre en demandant à son contrôleur de le faire.
Ce dernier utilise un NSTimer. Il existe de façon de l'ouvrir.
Soit simple, soit multiple. voila l'etat des variables qui changent:
Simple :
path="/chemin/fichier1"
type="txt"
multiple = NO
liste = null;
multiple :
path=null
type=null
multiple = YES
liste = {fichier1; fichier2}@NSArray;
Dans le premier cas le Timer fonctionne et dans le deuxième il marche pas.
Dans les deux cas le Timer est bien instantié.
que ce passe-t-il??
Ce dernier utilise un NSTimer. Il existe de façon de l'ouvrir.
Soit simple, soit multiple. voila l'etat des variables qui changent:
Simple :
path="/chemin/fichier1"
type="txt"
multiple = NO
liste = null;
multiple :
path=null
type=null
multiple = YES
liste = {fichier1; fichier2}@NSArray;
Dans le premier cas le Timer fonctionne et dans le deuxième il marche pas.
Dans les deux cas le Timer est bien instantié.
que ce passe-t-il??
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Donc dans ton cas, tu devras mettre "nil" et non "null"
Vu que la liste est nil dans le premier cas, voici:
Et au pire, si ça marche pas, fait :
En fait je sais pas ce que fait le timer dans le 2eme cas. Il ne déclenche jamais le méthode que je lui ai affecté.
les methodes : setpathmovie et setpathmoviemultiple initialise les variables et est forcément appelé avant la fonction openning. que ce soit setpathmovie ou setpathmoviemultiple qui ai été appeler ça ne doit pas changer le comportement de openning.
mon problème est que, quand je fait ça :
le timer marche pas alors que si je fait :
le timer marche
Où j'ai faux? :why?:
[tt]
if([listeVideo count]==1)
{
[myLaunchController setPathMovie:[listeVideo objectAtIndex:0] byType:@Video];
}
else
{
[myLaunchController setPathMovieMultiple:listeVideo];
}
[myLaunchController openning];
[/tt]
Je crois que j'ai un début de piste. quand ça marche je suis dans le contrôleur de l'application.
Mais quand ça marche pas je suis dans une fonction qui est appelé et exécuté dans un nouveau thread détaché.
Je doit avoir un problème de loop qui s'arrête sur lequel le timer s'appuie.
j'ai créer une nouvelle fonction pour appeler correctement mais ça fait le même effet.
[EDIT] Trouvé !!!! c'est bien le thread qui me cassait les pieds. Je suis passé par une notification en fin de thread pour lancer les fonctions que je voulais. Maintenant ça marche.