【问题标题】:Files doesn't support the ARC feature, how to deal with文件不支持ARC功能,如何处理
【发布时间】:2011-12-26 07:47:49
【问题描述】:

我的项目使用 ARC(自动引用计数器),所以当我尝试导入 ASIHTTPRequest 库时,该库有 4 个在其实现中使用 autorelease 语句的类,下面是一个示例:

[self setAccessLock:[[[NSRecursiveLock alloc] init] autorelease]];

我得到的错误:

ARC forbids explicit message send of autorelease

我应该怎么做才能解决这个问题。

【问题讨论】:

    标签: ios5 automatic-ref-counting


    【解决方案1】:

    我找到了解决方案,我需要为每个不支持 ARC 的文件在编译器标志中添加正确的标志。对我来说,我使用 Xcode 4.2,所以在 target -> Build Phases -> Compile Sources 下,双击要禁用 ARC 功能的文件,然后将 -fno-objc-arc 点击 Done。它已经完成了;)

    请注意,如果列表中不存在该文件,您可以通过单击 + 按钮添加它,然后执行上述相同的工作。

    【讨论】:

      【解决方案2】:

      为该类禁用 ARC

      当您迁移项目以使用 ARC 时,-fobjc-arc 编译器标志设置为所有 Objective-C 源文件的默认值。您可以使用该类的 -fno-objc-arc 编译器标志为特定类禁用 ARC。

      在 Xcode 中,在目标 Build Phases 选项卡中,打开 Compile Sources 组以显示源文件列表。双击要设置标志的文件,在弹出的面板中输入-fno-objc-arc,然后点击完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-04-07
        • 1970-01-01
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 2017-11-26
        • 2012-12-04
        • 1970-01-01
        相关资源
        最近更新 更多