我已经看到很多关于将整个项目转换为 arc,然后使用标志告诉 Xcode 哪些不转换的信息。
仅将单个文件转换为 arc 怎么样?我试过了,它运行良好。我可以这样做吗?我有点担心,因为如果我在这里和那里转换东西,整个项目不会转换为弧,它们会导致内存泄漏。
我已经看到很多关于将整个项目转换为 arc,然后使用标志告诉 Xcode 哪些不转换的信息。
仅将单个文件转换为 arc 怎么样?我试过了,它运行良好。我可以这样做吗?我有点担心,因为如果我在这里和那里转换东西,整个项目不会转换为弧,它们会导致内存泄漏。
是的你可以。但是,您需要告诉编译器哪些文件不是 ARC。您可以在项目设置中执行此操作。转到your project
> Select the target of the app in question
> Build Phases
。现在下拉“编译源”并选择您不希望使用 ARC 编译的文件,按 ENTER 并会出现一个小弹出框。在这里你可以写-fno-objc-arc
。按下Done
,你就完成了。
编译时,它会尝试为没有-fno-objc-arc
标志的文件添加自动引用计数。在使用 ASIHTTPRequest 或 MBProgressHud(和其他)等非弧库时非常有用。
仅告诉某些文件是 ARC 使用标志:
-fobjc-arc