将单个文件转换为弧?
Posted
技术标签:
【中文标题】将单个文件转换为弧?【英文标题】:Converting individual files to arc? 【发布时间】:2012-05-15 05:04:42 【问题描述】:我已经看到很多关于将整个项目转换为 arc,然后使用标志告诉 Xcode 哪些不转换的信息。
仅将单个文件转换为 arc 怎么样?我试过了,它运行良好。我可以这样做吗?我有点担心,因为如果我在这里和那里转换东西,整个项目都不会转换为 arc,它们会导致内存泄漏。
【问题讨论】:
【参考方案1】:是的,你可以。但是,您需要告诉编译器哪些文件不是 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 用于其他文件?它似乎记得哪些文件已转换为 ARC,哪些未转换。 如果您使用了多个不能使用 ARC 的库怎么办?有很多文件要更改,您是否必须为所有文件单独设置标志,还是有更好的方法? 这是在您的项目设置中为编译器设置的标志Objective-C Automatic Reference Counting
。
是的,如果您有多个库,那么您应该在Build Phase
选项卡的Compile Sources
中为这些库选择 .m 文件并将此标志添加到它们。这是因为项目设置设置为使用 ARC,而这些文件没有。所以这些文件应该被编译器从 ARC 中排除。
我已经知道这个标志了。我以前用过。但是,如果您必须为 100 个文件设置此标志怎么办。你必须为每一个单独做,还是你可以一次选择它们并设置标志?【参考方案2】:
只告诉某些文件是ARC使用标志:
-fobjc-arc
【讨论】:
以上是关于将单个文件转换为弧?的主要内容,如果未能解决你的问题,请参考以下文章
如何将单个工作表中的多行(在 excel 中)转换为多个 CSV 文件
如何使用 PHP 将 html 页面转换为单个 .chm 文件?