@weakify(Obj)? @strongify(Obj)
這對宏在 RACEXTScope.h 中定義,RACFramework好像沒有默認(rèn)引入,需要單獨(dú)import
他們的作用主要是在block內(nèi)部管理對self的引用:
@weakify(self);//定義了一個__weak的self_weak_變量
[RACObserve(self, name) subscribeNext:^(NSString *name) {
@strongify(self);//局域定義了一個__strong的self指針指向self_weak? ? ? ? self.outputLabel.text = name;
}];
這個宏為什么這么吊,前面加@,其實(shí)就是一個啥都沒干的@autoreleasepool {}前面的那個@,為了顯眼罷了。
這兩個宏一定成對出現(xiàn),先weak再strong