如何使用商业在Objective-C的宏观标志? [英] How can I use commercial at sign in Objective-C macro?

查看:152
本文介绍了如何使用商业在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆