Wie zu stoppen NSTimer gestartet, auf den button klicken Sie in der timer-callback-Methode

Ich habe Probleme mit stoppen NSTimer gestartet, auf den button klicken. [timer invalidate] und timer = nil; nur nichts tun, weder, wenn ich versuche, ihn zu stoppen viewWillDisappear noch in der Methode wird aufgerufen von der Methode, die aufgerufen wird, die von diesem timer. Jedoch wenn ich starten mein timer in viewWillAppear ungültig und es in viewWillDisappear alles in Ordnung ist.

Ich vermute, dass es möglicherweise ein Problem in den thread, ich bin ab den timer aus. Können Sie helfen mit, dass?

Schaute ich durch alle Antworten hier in Bezug auf NSTimer nicht zu stoppen, aber Sie nicht helfen, das problem zu lösen.

Den Weg Initialisiere ich meine timer:

timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(oneSecondPassedSinceRoundStarted) userInfo:nil repeats:YES];  

Den Möglichkeiten, die ich habe versucht, ihn zu stoppen:

[self.timer invalidate];
[timer invalidate];
Wie wollen Sie initialisieren den timer? Prüfen Sie auch, ob Ihre Zeiger zugeordnet ist.
Adam, bearbeitet ich meine Frage und fügte einige code.
Wenn Sie nicht bekommen, Antworten, lösen Sie Ihre Fragen, sollten Sie nicht akzeptieren, zufällige Antworten. Beachten Sie aber, dass Sie akzeptieren kann, Ihre eigenen Antworten, wenn Sie es geschafft das problem selbst zu lösen, statt.
Könnte Sie eventuell überschreiben der timer-Mitglied oder nilling, bevor Sie versuchen, es ungültig ist? Auch sollte man keine aus dem gleichen thread geplant aus.
Georg, vielen Dank für deinen input. Durch Zufall habe ich gefunden, die Antwort auf meine eigene Frage nur noch. Das, was ich bin versucht zu sagen, dass das system davon abhalten die Menschen zu Fragen, auch komplizierte Fragen. Es ist so, ich bin badass und sich zu weigern, Menschen, die den Ruf oder die Anerkennung. Nicht gut.

InformationsquelleAutor Roman Minenok | 2012-07-22

Schreibe einen Kommentar