1
  1. 如果启用了 ARC,调用如下清理代码的正确位置是什么?

    if ([EAGLContext currentContext] == mContext)    
        [EAGLContext setCurrentContext:nil];
    
  2. 在 ARC 中,由于内存是由 LLVM 管理的,我们是否仍然可以在没有任何警告的情况下覆盖 dealloc 方法?

4

2 回答 2

1
  1. 您仍然可以在 中调用此代码dealloc,但根据代码的结构,可能会有更好的点。也许viewDidUnload

  2. 您仍然可以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 回答