8

据我所知,我知道我们-fno-objc-arc在 ARC 项目中使用标志来禁用不支持 ARC 的文件的 ARC。

我们也可以使用-fobjc-arcflag 来启用 ARC,以便在非 ARC 项目中支持 ARC 的文件。

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

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

提前致谢。

4

3 回答 3

20

你需要按照这个步骤

  1. 转到您的项目目标 - 搜索 - Objective-C 自动引用计数器

  2. NO从 YES设置

享受编程!

于 2012-12-20T06:28:50.417 回答
4

您必须在适当的位置插入手动内存管理方法调用。一般来说,每一个new, alloc, retain,copymutableCopycall 都应该由 arelease或 an来平衡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];

官方文档中有关内存管理的更多信息。

于 2012-12-20T06:31:10.997 回答
1

在此处输入图像描述

非常简单的方式编辑 -> 隐蔽 -> 到 Objective-C ARC

于 2016-04-07T09:09:18.863 回答