ReactiveCocoa中weakify与strongify的作用

 @weakify(Obj)  @strongify(Obj)

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

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

@weakify(self); // 定义了一个__weakself_weak_变量

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

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

    }];

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

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


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