【发布时间】:2012-09-06 12:04:58
【问题描述】:
基本上,我希望文件的一部分不使用 ARC,其余部分使用它(长话短说……)。除了在每个文件的基础上禁用 ARC 之外,还有没有办法使用预编译器 # 命令来做到这一点?
【问题讨论】:
标签: objective-c automatic-ref-counting
基本上,我希望文件的一部分不使用 ARC,其余部分使用它(长话短说……)。除了在每个文件的基础上禁用 ARC 之外,还有没有办法使用预编译器 # 命令来做到这一点?
【问题讨论】:
标签: objective-c automatic-ref-counting
没有。对不起。
在一个堆栈溢出之前被问过:
Pragma to explicitly enable ARC?
一般来说,开发者社区:
http://lists.cs.uiuc.edu/pipermail/llvmbugs/2012-March/022462.html
【讨论】:
您只能通过添加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
【讨论】: