Comment transmettre un paramètre à la méthode appelée par un NSTimer? Mon minuteur ressemble à ceci:Transmission des paramètres à la méthode appelée par un NSTimer
[NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(updateBusLocation) userInfo:nil repeats:YES];
et je veux être en mesure de passer une chaîne à la méthode updateBusLocation. Aussi, où suis-je censé définir la méthode updateBusLocation? Dans le même fichier .m que je crée le minuteur?
EDIT:
En fait, je suis toujours des problèmes. Je reçois le message d'erreur:
Mettre fin application en raison d'une exception non interceptée 'NSInvalidArgumentException', raison: '* - [MapKitDisplayViewController updateBusLocation]: sélecteur non reconnu envoyé à l'instance 0x4623600'
Voici mon code:
- (IBAction) showBus {
//do something
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateBusLocation) userInfo:txtFieldData repeats:YES];
[txtFieldData release];
}
- (void) updateBusLocation:(NSTimer*)theTimer
{
NSLog(@"timer method was called");
NSString *txtFieldData = [[NSString alloc] initWithString:(NSString*)[theTimer userInfo]];
if(txtFieldData == busNum.text) {
//do something else
}
}
EDIT # 2: Ne vous occupez pas de votre code d'exemple fonctionne bien merci pour l'aide.
question solide que je suis sûr que une tonne de gens ont demandé à un moment ou un autre. Merci! –