我有一个与ARC代码和非ARC代码的应用程序。当我尝试将非ARC代码编译为ARC时,编译器会捕获。当我的ARC代码在没有ARC的情况下被错误编译时,如何导致编译时错误/注意事项?显然,代码将被编译。它只会泄漏。静态分析器将会发现问题。我宁愿找到一种方法在我的ARC代码中留下编译指示或定义。如何在课堂上要求ARC?
以下是苹果在objc-api.h
定义:
/* OBJC_ARC_UNAVAILABLE: unavailable with -fobjc-arc */
#if !defined(OBJC_ARC_UNAVAILABLE)
# if __has_feature(objc_arr)
# define OBJC_ARC_UNAVAILABLE __attribute__((unavailable("not available in automatic reference counting mode")))
# else
# define OBJC_ARC_UNAVAILABLE
# endif
#endif
我的C-宏观福较弱。我将如何使用它?或者,也许有一个更好的符号来检查?
P.S.我问,因为我从可重用的库中构建了大部分应用程序。我想确保每个文件都以正确的方式编译。
谢谢您的宏。 – adonoho