美文网首页
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的基本使用

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