美文网首页
[iOS][RAC]--RACSubject类发送信号过程的低层

[iOS][RAC]--RACSubject类发送信号过程的低层

作者: 阿不不不不 | 来源:发表于2018-11-02 21:27 被阅读10次

RACSubject:信号提供者:信号提供者!!,自己可以充当信号,又能够发送信号!!并且可以订阅多个信号
它是如何实现RACSignal及RACSubscriber(协议)的功能????

真相是

Snip20181102_15.png
1、创建信号底层分析
//1.创建信号:仅仅是创建了一个数组返回了一个信号对象
RACSubject * subject = [RACSubject subject];
Snip20181102_17.png
2.订阅信号: 和用signel方式不同之处在于:之前在真正订阅信号时是通过执行之前保存block,现在是通过数组保存我们的订阅者
//不同的信号订阅的方式不一样!!(因为类型不一样,所以调用的方法不一样)
    //RACSubject处理订阅:拿到之前的_subscribers保存订阅者
    [subject subscribeNext:^(id x) {
        NSLog(@"接受到了数据:%@",x);
    }];
Snip20181102_19.png Snip20181102_20.png
3.发送数据
//遍历出所有的订阅者,调用nextBlock
    [subject sendNext:@"汉堡包"];
Snip20181102_21.png Snip20181102_23.png

流程图

Snip20181102_24.png

相关文章

网友评论

      本文标题:[iOS][RAC]--RACSubject类发送信号过程的低层

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