2016-05-25 8 views
1

NSTimerが数秒間カウントダウンする。タイマーは、3ビュープロセスの中央のビューにあります。ナビゲーションを先送りにするときにNSTimerを無効にする

私は、アプリケーションのメモリが吹き出そうとしていない(強い参照)かどうかを調べたので、タイマーを無効にする必要があります。

私はviewWillDisappearメソッドに無効を入れます。ただし、ユーザーがこれに先立って見ることができるビューがもう1つあるため、タイマーが停止し、ユーザーがビューに戻るとカウントダウンが一時停止します。

nstimerを無効にするには、ユーザーが表示階層に戻って転送しないようにする必要があります。

答えて

1

あなたはviewWillDisappearにこのような何かを行うことができます。

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

をありがとうございました。私は実際にself.isMovingFromParentViewController()を使用して終了しましたが、これは正しい方向に私を指摘しました。 – puks1978