私はそれを整理するためにいくつかの厄介なコードに戻ります.NSTimersから返されたものscheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
を保持し、それらをフィールドに格納してから、フィールドが起動したときにフィールドを解放してnullにしていることがわかります. 場合によっては、タイマーを使用して後で無効化メッセージを送信しますが、多くの場合は送信しません。
最近のコードでは、通常、タイマーをスケジュールするだけで忘れてしまいます。コンストラクターメソッドが自動解放され、タイマーがアクティブな間、実行ループによって保持されることを理解しています。したがって、これには問題はありません。
それで、私の理解を締めくくるために-タイマーを保持しなければならない他の理由はありますか、それとも私が今していることは受け入れられたイディオムですか?
これはすべて iPhone コードのコンテキストにありますが、これが iPhone 固有のものであるとは思いません。