ReactiveCocoa框架使用weakify
和strongify
宏,两者均以'@'符号为前缀。
以下是一个示例(来自此file)。
- (RACSignal *)rac_textSignal {
@weakify(self);
return [[[[RACSignal
...
];
}
在宏名称前使用@符号的意义是什么?(注意:我已经检查了宏,它被称为'weakify'而不是'@weakify',所以这不仅仅是宏名称!)
宏本身在此处定义:
https://github.com/jspahrsummers/libextobjc/blob/master/extobjc/EXTScope.h#L45