在ReactiveCocoa中,有两个宏用于连接。
#define weakify(...) \
rac_keywordify \
metamacro_foreach_cxt(rac_weakify_,, __weak, __VA_ARGS__)
#define strongify(...) \
rac_keywordify \
_Pragma("clang diagnostic push") \
_Pragma("clang diagnostic ignored \"-Wshadow\"") \
metamacro_foreach(rac_strongify_,, __VA_ARGS__) \
_Pragma("clang diagnostic pop")
#if DEBUG
#define rac_keywordify autoreleasepool {}
#else
#define rac_keywordify try {} @catch (...) {}
#endif有谁能解释一下rac_keywordify的实际用途是什么?我读过关于rac_keywordify的描述,但仍然不明白。如果有人提供例子和描述,我将不胜感激。
发布于 2015-02-12 15:51:53
rac_keywordify所做的就是允许在weakify和strongify宏前面使用@符号作为必需的前缀。@是不必要的,它是一个样式选择,使这些宏看起来像关键字,像其他语言关键字,如@try或@synchronize。
https://stackoverflow.com/questions/28473671
复制相似问题