如果启用了 ARC,调用如下清理代码的正确位置是什么?
if ([EAGLContext currentContext] == mContext) [EAGLContext setCurrentContext:nil];
在 ARC 中,由于内存是由 LLVM 管理的,我们是否仍然可以在没有任何警告的情况下覆盖 dealloc 方法?
问问题
969 次
2 回答
1
您仍然可以在 中调用此代码
dealloc
,但根据代码的结构,可能会有更好的点。也许viewDidUnload
您仍然可以
dealloc
使用以下警告覆盖:- 你不能打电话
[super dealloc]
; - 你不能打电话
release
,你应该只做零分配,在这里删除监听器等。
- 你不能打电话
于 2012-10-11T16:52:37.747 回答
0
我不知道您的第一个问题,但对于第二个问题:ARC 禁止发送dealloc
和的显式消息release
。当您尝试调用[super dealloc]
或[attribute release]
在代码中的任何位置(例如在dealloc
方法中)时,您会收到错误。
于 2012-10-11T16:57:38.683 回答