ReativeCocoa底层理解

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);

}];//响应式编程


流程图如下:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容