据我所知,我知道我们使用-fno-objc-arc
标志来禁用ARC项目中不支持ARC的文件。如何将ARC项目转换为非ARC?
而且我们还可以使用-fobjc-arc
标志在非ARC项目中启用ARC以支持ARC。
但是,如果我想将我的ARC项目(不是特定文件)转换为非ARC项目,那么我应该如何继续前进?
任何人都请简要介绍一下。
在此先感谢。
据我所知,我知道我们使用-fno-objc-arc
标志来禁用ARC项目中不支持ARC的文件。如何将ARC项目转换为非ARC?
而且我们还可以使用-fobjc-arc
标志在非ARC项目中启用ARC以支持ARC。
但是,如果我想将我的ARC项目(不是特定文件)转换为非ARC项目,那么我应该如何继续前进?
任何人都请简要介绍一下。
在此先感谢。
您必须在适当的位置插入手动内存管理方法调用。在一般情况下,每new
,alloc
,retain
,copy
和mutableCopy
呼叫应当由release
或autorelease
(后者主要用于返回值的情况下)进行平衡,所以,例如,下面的启用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。
您需要按照这个步骤
去你的项目目标 - 搜索 - Objective-C的自动 参考柜台
设置NO
从YES
享受Progaramming !
这是假设使用的Xcode。 – 2012-12-20 06:33:48
是的,它是将ARC转换为NON-ARC的最短途径,就像“如果我想将我的ARC项目(而不是特定文件)转换为非ARC项目”一样,我应该如何继续一样?” –
downvote的任何理由? – 2012-12-20 06:32:18
我没有让你失望,但我想他们问的是将项目设置从ARC启用改为ARC禁用,而不是关于转换特定文件。 –
@JackHumphries谢谢,我看到了 - 但在这种情况下的确假设了一个特定的IDE(Xcode),而这个问题中没有提到。 – 2012-12-20 06:37:04