私は通常deallocを使用するように私がクリーンアップに使用できるファイナライズの前に呼び出されるメソッドはありますか?finalizeとdeallocでvarsをクリーンアップ
GarbageCollectionをオフにすると、deallocメソッドでpublic、retain、instance vars をnilに設定してnilに設定するようなクリーンアップを行います。
Appleは、GCをオンにした場合、ファイナライズ方法でそれを行うべきではないと言います。
仮にNSTimerプロパティが保持されたNSViewサブクラスを作成したとします。タイマーが無効になっていることを確認するために、サブクラスの割り当てを解除する前に無効化を呼び出す必要があります。 GCをオフにして、私はちょうど[self.time invalidate]と言い、deallocメソッドでそれをnilに設定します。
ただし、GCを使用すると、これを行う唯一の方法は、ビューサブクラスをIBOuletにすることです。その後、私はビューを削除する前に、私はタイマーを無効にする必要があります。
すべてのカスタムビューまたはコントロール用にコンセントを作成する必要はありません。これを行うには、より優れた自動方法がありますか?