ReactiveCocoa中weakify与strongify的作用

@weakify(Obj)  @strongify(Obj)

这对宏在 RACEXTScope.h 中定义,RACFramework好像没有默认引入,需要单独import

他们的作用主要是在block内部管理对self的引用:

@weakify(self);//定义了一个__weak的self_weak_变量

[RACObserve(self, name) subscribeNext:^(NSString *name) {

@strongify(self);//局域定义了一个__strong的self指针指向self_weak        self.outputLabel.text = name;

}];

这个宏为什么这么吊,前面加@,其实就是一个啥都没干的@autoreleasepool {}前面的那个@,为了显眼罢了。

这两个宏一定成对出现,先weak再strong

你可能感兴趣的:(ReactiveCocoa中weakify与strongify的作用)