Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 将单个文件转换为arc?_Xcode_Memory Management_Memory Leaks_Automatic Ref Counting_Xcode4.3 - Fatal编程技术网

Xcode 将单个文件转换为arc?

Xcode 将单个文件转换为arc?,xcode,memory-management,memory-leaks,automatic-ref-counting,xcode4.3,Xcode,Memory Management,Memory Leaks,Automatic Ref Counting,Xcode4.3,我看过很多关于将整个项目转换为arc,然后使用标志告诉Xcode哪些项目不转换的信息 只将单个文件转换为圆弧怎么样?我试过了,结果很好。我可以这样做吗?我有点担心,因为整个项目没有转换成arc,如果我在这里和那里转换东西,它们会导致内存泄漏。是的,你可以。但是,您需要告诉编译器哪些文件不是ARC。您可以在项目设置中执行此操作。转到您的项目选择相关应用程序的目标构建阶段。现在,下拉“编译源代码”,选择您不希望使用ARC编译的文件,按ENTER键,将出现一个小弹出框。您可以在这里编写-fno obj

我看过很多关于将整个项目转换为arc,然后使用标志告诉Xcode哪些项目不转换的信息


只将单个文件转换为圆弧怎么样?我试过了,结果很好。我可以这样做吗?我有点担心,因为整个项目没有转换成arc,如果我在这里和那里转换东西,它们会导致内存泄漏。

是的,你可以。但是,您需要告诉编译器哪些文件不是ARC。您可以在项目设置中执行此操作。转到
您的项目
选择相关应用程序的目标
构建阶段
。现在,下拉“编译源代码”,选择您不希望使用ARC编译的文件,按ENTER键,将出现一个小弹出框。您可以在这里编写
-fno objc arc
。按
Done
完成


编译时,它将尝试向没有
-fno objc arc
标志的文件添加自动引用计数。在使用非arc LIB(如ASIHTTPRequest或MBProgressHud)时非常有用。

仅告诉特定文件是arc使用标志:

-fobjc-arc

您如何判断它正在尝试对其他文件使用ARC?它似乎还记得哪些文件已转换为ARC,哪些文件尚未转换。如果您使用的是几个不能使用ARC的库,该怎么办?有很多文件需要更改,您需要为所有文件单独设置标志吗,还是有更好的方法?这是在项目设置中为编译器设置的标志,名为
Objective-C Automatic Reference Counting
。是的,如果您有多个lib,然后,您应该在
构建阶段
选项卡的
编译源代码
中为这些lib选择.m文件,并将此标志添加到其中。这是因为项目设置设置为使用ARC,而这些文件不使用ARC。所以这些文件应该被编译器从ARC中排除。我已经知道这个标志了。我以前用过。但是如果你必须为100个文件设置这个标志呢。您是否必须为每一个单独执行此操作,或者您可以一次选择所有这些操作并设置标志?