美文网首页
ios开发中使用RAC代替block传值

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

作者: 梁森的简书 | 来源:发表于2018-06-11 16:33 被阅读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;
}];

相关文章

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

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

  • iOS RAC学习

    一、RAC使用基础认知 RAC编程思想:响应式编程+函数式编程 在iOS中,类之间的传值,无非就是block、de...

  • iOS开发-block传值

    block传值步骤比代理传值步骤简便,实际开发中经常使用到。 block传值分为block属性传值和block方法...

  • iOS 常用传值方式

    总结 iOS 日常开发中的几种常用传值方式:正向传值代理传值block传值通知传值单例 文章代码:https://...

  • iOS开发——Block在实际项目中的传值

    在iOS开发中,我们会在实际过程中大量使用Block,其中Block有个很基础的功能,就是完成两个页面间的传值。而...

  • block作为参数传递

    众所周知,block是iOS开发中一个经常使用的模块, block 可以用来包含一段代码块,可以传值, 用法灵活,...

  • ios开发之代理,block,通知

    ios开发中控制器与控制器之间的传值与联系,使用最多的是block,代理,通知.那么他们之间有什么区别以及怎么使用...

  • Block传值

    iOS传值一共有四种:属性传值,代理传值,通知传值以及Block传值; 今天我们来说一下Block传值: 概念:带...

  • iOS中2种正向传值,6种反向传值方式归纳总结

    1、属性传值 前向后传值。2、协议传值3、Block传值 代替协议代理传值,主要时间点问题。4、单...

  • Block内存管理

    在平时的开发中我们经常使用block来传值和事件传递,但是block的使用很容易造成循环引用(我引用你 你引用我 ...

网友评论

      本文标题:ios开发中使用RAC代替block传值

      本文链接:https://www.haomeiwen.com/subject/cmyheftx.html