ios开发中使用RAC代替block传值

2018-06-11  本文已影响333人  梁森的简书

RAC可以实现KVO、代理、通知、block的功能,可谓集多功能于一身。本篇文章介绍RAC是如何代替block传值的。

我们使用RACSubject这个来进行信号的发送和信号的订阅,RACSubject这个类是继承自RACSignal的。
看代码
发送信号:

    - (RACSubject *)subject {
if (!_subject) {
    _subject = [RACSubject subject];
}
return _subject;
  }

  // 发送信号
 UIColor * randomColor= [UIColor colorWithRed:((float)arc4random_uniform(256) / 255.0) green:((float)arc4random_uniform(256) / 255.0) blue:((float)arc4random_uniform(256) / 255.0) alpha:1.0];
[self.subject sendNext:randomColor];

订阅信号:

    [btn.subject subscribeNext:^(id  _Nullable x) { // 订阅信号
    self.view.backgroundColor = x;
}];
上一篇 下一篇

猜你喜欢

热点阅读