ARC が有効になっている場合、次のようなクリーンアップ コードを呼び出す正しい場所はどこですか?
if ([EAGLContext currentContext] == mContext) [EAGLContext setCurrentContext:nil];
ARC では、メモリは LLVM によって管理されているため、何の注意も払わずに dealloc メソッドをオーバーライドできますか?
質問する
969 次
2 に答える
1
でこのコードを呼び出すこともできますが
dealloc
、コードの構造によっては、より適切なポイントがある場合があります。多分viewDidUnload
dealloc
次の注意事項でオーバーライドできます。- 呼び出すことはできません
[super dealloc]
。 - を呼び出すことはできません
release
。ここでは nil 割り当てのみを行い、リスナーを削除するなどしてください。
- 呼び出すことはできません
于 2012-10-11T16:52:37.747 に答える
0
最初の質問についてはわかりませんが、2 番目の質問については、ARC は と の明示的なメッセージ送信を禁止していdealloc
ますrelease
。を呼び出そうとすると[super dealloc]
、または[attribute release]
コード内のどこか (dealloc
メソッドなど) でエラーが発生します。
于 2012-10-11T16:57:38.683 に答える