如果ARC关闭,在编译时失败的正确方法是什么?

时间:2012-07-28 19:34:27

标签: objective-c automatic-ref-counting

我正在研究一些Objective-C代码,我希望将其转移到一个库中,或者至少与其他人共享。它需要使用ARC,如果未启用ARC,则会泄漏内存。

如果关闭ARC,使代码无法编译的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

您可以使用

在编译时检查ARC
#if __has_feature(objc_arc)

答案 1 :(得分:1)

我认为更简洁的方法是将库编译为静态库。由于ARC会根据规则将发布调用合并到已编译的库中,因此,如果添加的项目是ARC或MRC,则无关紧要 - 因此对库用户来说没有麻烦。