マクロ定義でブロックを使用しようとしていますが、うまくいきません。
コードは次のとおりです。
#define IPHONE_OR_IPAD_BLOCK(void(^iphoneBlock)(void), void(^ipadBlock)(void)) ({ \
if (iphoneBlock && (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)) \
{ \
iphoneBlock(); \
} \
else if (ipadBlock) \
{ \
ipadBlock(); \
} \
})
コンパイルされていないようです。
マクロでブロックを使用することをどのように提案しますか?
更新: Ramy Al Zuhouri への迅速な返信に感謝します。より多くの型チェックを提供するため、代わりに静的関数に固執します。
NS_INLINE void DoIphoneOrIpadBlock(void (^iphoneBlock)(void), void (^ipadBlock)(void))
{
if (iphoneBlock && (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone))
{
iphoneBlock();
}
else if (ipadBlock)
{
ipadBlock();
}
}