ReativeCocoa底层理解

2017-04-20  本文已影响73人  wsj2012

ReativeCocoa是一个非常值得我们学习的优秀的框架,典型的响应式和函数式混合思想设计.

一直在研究它的源码,没时间整理,现在整理一下.

从浅到深来写,并且不断跟新....

//函数式+响应式FRP

//1通过RACSignal创建一个信号(默认是冷信号)

//2通过订阅者订阅这个信号(变成热信号)

// 3发送信号

//1创建信号

//底层实现流程

//didSubscreibe(block)

//利用didSubScriber发送数据

//1 RACDynamicSignal创建的真实信号类

// 2保存didSubScribe

//signal->_didSubscribe = [didSubscribe copy];

RACSignal*signal = [RACSignalcreateSignal:^RACDisposable*(id subscriber) {

//发送数据subscriber它来发送

//1获取到存取的nextBlock

//2执行nextBlock

[subscribersendNext:@"3333"];

returnnil;

}];//函数式思想

//2订阅信号

//nextBlock调用:只要订阅者发送数据就会调用

//1创建订阅者

//RACSubscriber *o = [RACSubscriber subscriberWithNext:nextBlock error:NULL completed:NULL];

//2保存nextBlock

//subscriber->_next = [next copy];

//2紧接着进入订阅信号的方法

//执行didSubscribe Block

//RACDisposable *innerDisposable = self.didSubscribe(subscriber);

[signalsubscribeNext:^(idx) {

NSLog(@"%@",x);

}];//响应式编程

流程图如下:

上一篇 下一篇

猜你喜欢

热点阅读