美文网首页
RAC的基本使用

RAC的基本使用

作者: Dreamsky_起航 | 来源:发表于2017-12-26 01:45 被阅读20次

RAC的基本使用


在RAC中,一切都是信号!

RACSignal

RACSignal实例化一个信号,首先,需要创建一个信号,此时,该信号没有订阅者,称为冷信号;当有订阅者订阅了该信号,改信号则变为热信号;当信号监听的资源发生改变时,此信号就会给监听者发送消息!

总的来说,RACSignal的使用分三个步骤
1.创建信号,通过RACSignal来创建信号,此时信号为冷信号
2.订阅信号,订阅者订阅这个信号,此时变为热信号
3.发送信号,信号发送信号,订阅者接收到信号

经过了简单的使用,下边我们看一下RACSignal的实现原理:


RACSignal原理.png
  1. 首先RACSignal中+createSignal会调用子类实现
  2. 子类RACDynamicSignal中+createSignal方法会将didSubcriber这个Block以属性_didSubcriber的形式保存
  3. RACSignal调用+subscribeNext订阅信号,+subscribeNext中调用RACSubscriber对象的+subscriberWithNext:error:completed方法将订阅信号的Block传递过去
    4.RACSubscriber对象的+subscriberWithNext:error:completed方法将订阅信号的Block保存在_next中
    5.+subscribeNext中调用创建信号时保存的_didSubcriber
  4. 将存储了_next的RACSubscriber对象传递过去
  5. _didSubcriber中取到存储了_next的RACSubscriber对象取出来
  6. RACSubscriber对象调用_next,此时,就将需要发送的值发送到了订阅者的回调中

相关文章

  • RAC的基本使用

    引言 ReactiveCocoa为事件定义了一个标准接口,从而可以使用一些基本工具来更容易的连接、过滤和组合。从而...

  • RAC的基本使用

    RAC的基本使用 在RAC中,一切都是信号! RACSignal RACSignal实例化一个信号,首先,需要创建...

  • RAC的基本使用

    RAC(ReactiveCocoa) 是一个第三方的插件 优化代码的编程 简化代码 安装 platform:ios...

  • RAC iOS

    使用RAC 1.target-action RAC最基本的入门使用技巧就是对事件的监听。 PS:在iOS开发中,我...

  • iOS RAC 基本使用

    RAC使用函数响应式编程的思想,将我们平时用到的按钮点击事件、KVO、代理、通知等等封装起来,处理业务逻辑的代码放...

  • RAC 小记(初学者入门基础一)

    RAC(ReactiveCocoa)就是平常所说的函数式响应式编程,最基本的使用就是对事件的监听 配置RAC环境:...

  • ReactiveCocoa(RAC)的基本使用

    响应式:通知,代理,KVORAC是函数响应式,优点:所有业务逻辑代码在一起便于阅读 用Cocopods导入pod ...

  • RAC的基本使用一

    一、函数介绍:(a) flatten Map:在bind基础上封装的改变方法,用自己提供的 block,改变当前流...

  • RAC新手使用(一)

    RAC 基本使用其实没啥 什么是RAC?简单的说,RAC就是一个第三方库,他可以大大简化你的代码过程。 官方的说,...

  • IOS RAC实践

    前言 RAC使用-->IOS RAC使用 -- ReactiveObjC 本文使用RAC+MVVM来模拟用户登录 ...

网友评论

      本文标题:RAC的基本使用

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