gpt4 book ai didi

objective-c - 如何在类里面要求 ARC?

转载 作者:太空狗 更新时间:2023-10-30 03:29:06 24 4
gpt4 key购买 nike

我有一个同时包含 ARC 代码和非 ARC 代码的应用程序。当我尝试将非 ARC 代码编译为 ARC 时,编译器会捕获。当我的 ARC 代码在没有 ARC 的情况下被错误编译时,如何导致编译时错误/通知?显然,代码将编译。它只会泄漏。静态分析器会发现问题。我宁愿找到一种方法在我的 ARC 代码中留下编译指示或定义。

Apple 在 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-macro-fu 很弱。我将如何使用它?或者,也许有更好的符号来检查?

附言我问是因为我的大部分应用程序都是从可重用库构建的。我想确保每个文件都以正确的方式编译。

最佳答案

以下应该有效:

#if !__has_feature(objc_arc)
# error Compile me with ARC, please!
#endif

将它放在文件的顶部。

关于objective-c - 如何在类里面要求 ARC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com