Ich habe erfolgreich einen NSTimer verwendet, habe aber jetzt Probleme damit. Zweifellos etwas Dummes. Schätze andere Augen. Wenn ich den Debugger starte, sehe ich, dass applicationDidFinishLaunching aufgerufen wird, aber Trigger wird nie aufgerufen.NStimer - was mache ich hier falsch?
-(void) trigger:(NSTimer *) theTimer{
NSLog(@"timer fired");
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
nst = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(trigger) userInfo:nil repeats:YES];
[window makeKeyAndVisible];
}
Wie auch weiter unten gesagt wurde, müssen Sie den Timer beibehalten, wenn keine Garbage Collection verwendet wird. –
Wenn Sie den Timer zur Ausführung der Schleife hinzufügen, müssen Sie ihn nicht beibehalten, ich denke, die Ausführungsschleife behält ihn bei. – Jaanus
Vielen Dank, dass Sie den Signaturfehler der Methode abgefangen haben. Die andere Sache, die mich stolperte, ist, dass ich _planedTimerWithInterval verwendet habe, das kein manuelles Hinzufügen zu einer Laufschleife erfordert. In diesem Fall hatte ich den terminiertenTimer Teil vergessen. – morgancodes