RAC之RACSubject简单学习

RACSubject,使用场景:回调传值。

/**

 注意 RACSubject和RACReplaySubject的区别 RACSubject必须要先订阅信号之后才能发送信号, 而RACReplaySubject可以先发送信号后订阅. RACSubject 代码中体现为:先走TwoViewController的sendNext,后走ViewController的subscribeNext订阅 RACReplaySubject 代码中体现为:先走ViewController的subscribeNext订阅,后走TwoViewController的sendNext 可按实际情况各取所需。


 RACSubject 在使用中我们可以完全代替代理进行回调传值。


 */

- (IBAction)test:(id)sender {

    //发送信号

    [self.subject sendNext:@"发射数据"];

}

- (void)viewDidLoad {

    [super viewDidLoad];

    //创建信号

    self.subject = [RACSubject subject];

    //订阅信号

    @weakify(self);

    [self.subject subscribeNext:^(id  _Nullable x) {

        // block:当有数据发出的时候就会调用

        // block:处理数据

        @strongify(self);

        self.contentL.text= x;

        NSLog(@"%@",x);

    }];

}

你可能感兴趣的:(RAC之RACSubject简单学习)