如何将ARC项目转换为非ARC?

Sun*_*rge 8 iphone automatic-ref-counting

据我所知,我知道我们使用-fno-objc-arcflag为ARC项目中不支持ARC的文件禁用ARC.

此外,我们还可以使用-fobjc-arcflag来启用ARC,以便在非ARC项目中支持ARC文件.

但是,如果我想将我的ARC项目(非特定文件)转换为非ARC项目,那么我应该如何进行相同的操作呢?

有人请介绍一下同样的问题.

提前致谢.

Nir*_*hah 20

你需要按照这一步

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

  2. NO从YES 设置

享受Progaramming!


小智 4

您必须在适当的位置插入手动内存管理方法调用。一般来说,每个newallocretain和调用都应该由 a或 an来平衡(后者主要用于返回值的情况) copy,因此,例如以下启用 ARC 的代码:mutableCopyreleaseautorelease

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

OtherClass *otherObj = [[OtherClass alloc] init];
return otherObj;
Run Code Online (Sandbox Code Playgroud)

MRC下应该是这样的:

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

OtherClass *otherObj = [[OtherClass alloc] init];
return [otherObj autorelease];
Run Code Online (Sandbox Code Playgroud)

更多关于内存管理的内容请参见官方文档