如何使用商业在Objective-C的宏观标志? [英] How can I use commercial at sign in Objective-C macro?
本文介绍了如何使用商业在Objective-C的宏观标志?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我怎么能在Objective-C的宏中使用商业at符号?
How can I use commercial at sign in Objective-C macro?
我知道是不推荐它,但似乎有可能以某种方式?由于 libextobjc
为 @weakify
, @strongify
等。 ..
I know it is not recommended, but seems it is possible somehow? Since libextobjc
provides @weakify
, @strongify
, etc...
推荐答案
libextobjc
使用preprocessor挂羊头卖狗肉,让你认为这是一个 @命令
。
libextobjc
uses preprocessor trickery to make you think it's an @command
.
#define weakify(...) \
try {} @finally {} \
metamacro_foreach_cxt(ext_weakify_,, __weak, __VA_ARGS__)
请注意缺少 @
在尝试
。
因此, @weakify
扩展到 @try {} @finally {} [注code]
。
Note the missing @
on the try
.
So @weakify
expands into @try {} @finally {} [injected code]
.
您可以使用同样的伎俩,但我建议你坚持使用普通的宏。
You could use the same trick, but I suggest you stick with plain macros.
这篇关于如何使用商业在Objective-C的宏观标志?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文