7

如何在 Objective-C 宏中使用商业 at 登录?

我知道不建议这样做,但似乎有可能以某种方式?由于libextobjc提供@weakify,@strongify等...

4

1 回答 1

6

libextobjc使用预处理器诡计让你认为它是一个@command.

#define weakify(...) \
    try {} @finally {} \
    metamacro_foreach_cxt(ext_weakify_,, __weak, __VA_ARGS__)

请注意@. try所以@weakify扩展为@try {} @finally {} [injected code].

您可以使用相同的技巧,但我建议您坚持使用普通宏。

于 2013-09-03T18:41:49.260 回答