如何在文件的一部分中禁用ARC,而不是整个文件?

时间:2012-09-06 12:04:59

标签: objective-c automatic-ref-counting

  

可能重复:
  Pragma to explicitly enable ARC?

基本上,我希望文件的一部分不使用ARC,其余的则使用它(长篇故事......)。除了基于每个文件禁用ARC之外,有没有办法用预编译器#命令来做到这一点?

2 个答案:

答案 0 :(得分:2)

没有。遗憾。

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

Pragma to explicitly enable ARC?

一般的开发者社区:

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

答案 1 :(得分:0)

你只能通过为ARC添加一个conditional blocks而在没有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