私はそれをきちんと整理するためにいくつかのコードに戻ってきました。そして、私はscheduledTimerWithTimeInterval:target:selector:userInfo:repeats:
から返されたNSTimersを保持し、それらをフィールドに格納しています。場合によっては、タイマーを使用して後で無効化メッセージを送信しますが、多くの場合はそうではありません。スケジュールされたNSTimerを無効にする必要がない場合は、それを保持する理由はありますか?
最近のコードでは、通常、タイマーをスケジュールして忘れてしまいます。私はコンストラクタメソッドがオートリリースしていることを理解しており、タイマーは実行中に実行ループによって保持されているので、この問題は発生しません。
私の理解を丸めるために、私は自分のタイマーを保持する必要がある他の理由があるのでしょうか、私は現在受け入れられているイディオムをやっていますか?
これはすべてiPhoneコードの文脈にありますが、iPhone固有のものではないと思います。
はい、これは実際にはメモリ管理の質問ではありませんが、私はそこに誤解されていたことがあった場合の私の言葉にそれを含めました。つまり、もし私がそれを参照していたら、とにかくそれを保持していたはずです。 – philsquared