スーパーの dealloc の呼び出しに失敗した場合、それはコンパイラによって明示的に追加されているか、またはスーパー クラスから継承されたものを解放したい場合は、dealloc の最後にスーパーの dealloc を明示的に呼び出す必要があります。
2 に答える
1
ARC を使用している場合は、自動的に呼び出されるため、super を呼び出してはなりません (とにかくエラーが発生すると思います)。ARC を使用していない場合は、super を呼び出す必要があります。コンパイラはそれを行いません。
于 2013-07-28T09:41:32.340 に答える
1
を使用している場合ARC
、 への呼び出しが[super dealloc]
コンパイラによって自動的に追加され、実行しようとするとコンパイル エラーが発生します。
セレクター dealloc のメッセージ送信または @selector 式が含まれている場合、プログラムは不適切な形式です。
...
スーパークラスの dealloc の実装は、メソッドが戻るときに自動的に呼び出されます。
ARC を使用していない場合は、自分で追加する必要があります。
于 2013-07-28T09:43:18.530 に答える