标准的写法
空
简化后的宏
/**************************************************************/ // 执行一次 #undef XY_ONCE_BEGIN #define XY_ONCE_BEGIN( __name ) \ static dispatch_once_t once_##__name; \ dispatch_once( &once_##__name , ^{ #undef XY_ONCE_END #define XY_ONCE_END });
简化后的写法
- (IBAction)clickOnce:(id)sender { XY_ONCE_BEGIN(a) SHOWMBProgressHUD(@"only show once", nil, nil, NO, 2) XY_ONCE_END }
本文介绍了一种简化dispatch_once宏的方法,通过定义XY_ONCE_BEGIN和XY_ONCE_END宏来实现一次性执行代码块的功能。此外,还提供了一个使用示例,展示了如何在按钮点击事件中仅显示一次MBProgressHUD提示。

2157

被折叠的 条评论
为什么被折叠?



