美文网首页
RAC的使用

RAC的使用

作者: codethinking | 来源:发表于2018-12-05 17:05 被阅读0次

    1.什么是ReactiveCocoa? 

    具备函数式编程思想的开发框架,ReactiveCocoa具备函数式编程和响应式编程思想,因此常被称之为函数响应式编程(Functional Reactive Programming)框架。

    2.为什么要使用ReactiveCocoa?

    使用ReactiveCocoa可以简化原生框架大多场景,让开发更为一致和高效。ReactiveCocoa统一了iOS中常见的Target,KVO, 代理,通知,NSTimer,网络异步回调等操作。并将相应的事件处理代码聚合在一起。

    3.ReactiveCocoa的核心是什么?

    根据信号进行订阅和传递。

    接下来将会介绍与此相关的四个大的概念:

    信号源

    订阅者

    回收站(RACDisposable)

    调度器(上图中未提及)

    RACStream 分为RACSignal (核心类) 和 RACSequence(序列信号)

    1.核心类RACSignal

    最常用的信号类,主要功能是创建信号、配置订阅者来订阅信号。

    信号在传递过程中包括正常传递、传递完成和传递失败的状态,分别对应下图中next、completed和error。

    2.订阅者

    为了获取某个信号源中的值,通常需要对该信号源进行订阅,这就产生了订阅者的概念。

    在ReactiveCocoa中所有实现了RACSubscriber协议的类都可以作为信号源的订阅者。

    ReactiveCocoa源码中RACSubscriber协议规定了四个要实现的方法:

    3.回收站(RACDisposable)

    在ReactiveCocoa中并没有专门的类来代表一次完整的订阅行为,而间接地使用RACDisposable来表示订阅行为。

    订阅完成或失败时自动触发回收机制,因为它主要做一些资源回收和垃圾清理的工作。

    可以通过RACDisposable的dispose方法主动取消订阅行为,不再接受信号传递的信息。

    4.调度器(RACScheduler)

    RACScheduler是对GCD的简单封装,用来调度订阅任务。

    相关文章

      网友评论

          本文标题:RAC的使用

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