如果启用了 ARC,调用如下清理代码的正确位置是什么?
if ([EAGLContext currentContext] == mContext) [EAGLContext setCurrentContext:nil];在 ARC 中,由于内存是由 LLVM 管理的,我们是否仍然可以在没有任何警告的情况下覆盖 dealloc 方法?
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 回答