2016-05-25 9 views
1

Ich habe einen NSTimer, der von einer Anzahl von Sekunden herunter zählt. Der Timer befindet sich in der Mitte eines 3-Ansicht-Prozesses.NSTimer ungültig machen, wenn die Navigation nicht vorwärts geht

Ich muss den Timer ungültig machen, weil ich festgestellt habe, wenn ich nicht den App-Speicher beginnt zu blasen (starke Referenz).

Ich habe den Invalidate in der viewWillDisappear Methode aber da es eine weitere Ansicht gibt, die ein Benutzer segue kann, stoppt den Timer und wenn der Benutzer wieder in die Ansicht kommt, wird der Countdown angehalten.

Wie kann ich einen nstimer nur ungültig machen, wenn der Benutzer in die Ansichtshierarchie zurückgeht und nicht weiterleitet.

Antwort

1

Sie können in viewWillDisappear etwas tun:

if(![self.navigationController.viewControllers containsObject:self]) { 
     [timer invalidate]; 
    } 
+0

Dank. Am Ende habe ich selbst.isMovingFromParentViewController() benutzt, aber das hat mich in die richtige Richtung gelenkt. – puks1978

Verwandte Themen