Objective-Cのオブジェクトが自殺するのは良い習慣ですか?つまり、オブジェクトが[self dealloc]
どこで-dealloc
許可されているかを宣言するために、通常どおり整然と終了しますか?主なリスクは何ですか?
たまたま、特定の例があります。NSObjectを拡張し、NSTimerインスタンスとタイマーの起動回数を制限するように設定されたNSUIntegerで構成されるカスタムタイマーオブジェクトです。時間切れになると、オブジェクトはタイマーにそのメソッド-invalidate
を呼び出すことで自殺を指示し、自殺します。-dealloc
これは自動的に行われるため、オブジェクトを追跡したり、オブジェクトの割り当てを解除する正しいタイミングを決定的に知る必要はありません。
より詳細な説明については、こちらの私の投稿を参照してください。