如何在objective-c中将block作为宏的参数传递? [英] how to pass block as a macro's argument in objective-c?
本文介绍了如何在objective-c中将block作为宏的参数传递?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的代码中,我有很多类似的代码:
In my code i have a lot of code like:
if (block) block(....)
所以我想定义一个宏,例如
So I want to define a macro, something like
#define safetyCall(block, ...) if((block)) {block(##__VA_ARGS__)};
但是我无法使它正常工作.有什么主意吗?
But i couldn't get it to work. Any idea?
推荐答案
您不需要##
并且;
需要移动:
You don't need the ##
and the ;
needs moving:
#define safetyCall(block, ...) if((block)) { block(__VA_ARGS__); }
这篇关于如何在objective-c中将block作为宏的参数传递?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文