【问题标题】:How can I disable ARC in just part of a file, not the whole thing? [duplicate]如何仅在文件的一部分而不是整个文件中禁用 ARC? [复制]
【发布时间】:2012-09-06 12:04:58
【问题描述】:

可能重复:
Pragma to explicitly enable ARC?

基本上,我希望文件的一部分不使用 ARC,其余部分使用它(长话短说……)。除了在每个文件的基础上禁用 ARC 之外,还有没有办法使用预编译器 # 命令来做到这一点?

【问题讨论】:

    标签: objective-c automatic-ref-counting


    【解决方案1】:

    没有。对不起。

    在一个堆栈溢出之前被问过:

    Pragma to explicitly enable ARC?

    一般来说,开发者社区:

    http://lists.cs.uiuc.edu/pipermail/llvmbugs/2012-March/022462.html

    【讨论】:

      【解决方案2】:

      您只能通过添加conditional blocks 来做到这一点,一个用于 ARC,另一个用于不带 ARC..

      首先将ARC定义为-

      #ifndef __has_feature
      // not LLVM Compiler
      #define __has_feature(x) 0
      #endif
      
      #if __has_feature(objc_arc)
      #define ARC
      #endif
      

      那么你可以像这样使用它 -

      #ifdef ARC
          //do your work with ARC 
      #else
          //do your work without ARC
      #endif
      

      【讨论】:

      • 如果您随后在文件系统中使用名称稍有不同的链接,则您可以(可能?)在项目中包含新文件,并设置每个文件的编译标志以关闭 ARC .想知道它有效吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多