2012-12-20 57 views
7

据我所知,我知道我们使用-fno-objc-arc标志来禁用ARC项目中不支持ARC的文件。如何将ARC项目转换为非ARC?

而且我们还可以使用-fobjc-arc标志在非ARC项目中启用ARC以支持ARC。

但是,如果我想将我的ARC项目(不是特定文件)转换为非ARC项目,那么我应该如何继续前进?

任何人都请简要介绍一下。

在此先感谢。

回答

4

您必须在适当的位置插入手动内存管理方法调用。在一般情况下,每newallocretaincopymutableCopy呼叫应当由releaseautorelease(后者主要用于返回值的情况下)进行平衡,所以,例如,下面的启用ARC-代码:

MyClass *myObj = [[MyClass alloc] init]; 
[myObj doStuff]; 

OtherClass *otherObj = [[OtherClass alloc] init]; 
return otherObj; 

应该是这样的MRC下:

MyClass *myObj = [[MyClass alloc] init]; 
[myObj doStuff]; 
[myObj release]; 

OtherClass *otherObj = [[OtherClass alloc] init]; 
return [otherObj autorelease]; 

更多关于内存管理的official documentation

+0

downvote的任何理由? – 2012-12-20 06:32:18

+0

我没有让你失望,但我想他们问的是将项目设置从ARC启用改为ARC禁用,而不是关于转换特定文件。 –

+0

@JackHumphries谢谢,我看到了 - 但在这种情况下的确假设了一个特定的IDE(Xcode),而这个问题中没有提到。 – 2012-12-20 06:37:04

18

您需要按照这个步骤

  1. 去你的项目目标 - 搜索 - Objective-C的自动 参考柜台

  2. 设置NO从YES

享受Progaramming !

+0

这是假设使用的Xcode。 – 2012-12-20 06:33:48

+0

是的,它是将ARC转换为NON-ARC的最短途径,就像“如果我想将我的ARC项目(而不是特定文件)转换为非ARC项目”一样,我应该如何继续一样?” –

1

enter image description here

非常简单的方式编辑 - >秘密 - >到Objective-C的ARC

相关问题