iOS 开发之 ReactiveCocoa(基础)

454 查看

前言

前段时间在看Masonry这个全新的第三方的布局框架的时候,开始了解了链式编程.后来慢慢的又开始了解函数式编程和响应式编程.在这集中的编程思想下,开始接触和研究了ReactiveCocoa这个框架.在很多大神的blog中,都对这个框架有着高度的评价,各种秀自己如何灵活的使用ReactiveCocoa.今天主要就是这个框架的一些自己的学习笔记.

1.ReactiveCocoa简介

ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架.

ReactiveCocoa结合了几种编程风格:

  • 函数式编程(Functional Programming):使用高阶函数,例如函数用其他函数作为参数。
  • 响应式编程(Reactive Programming):关注于数据流和变化传播。

ReactiveCocoa就被开发者们描述为响应式函数编程框架(FRP);使用RAC就不需要考虑调用的顺序,直接考虑结果,使得代码高聚合,方便管理.

2.ReactiveCocoa使用

2.1 RACSiganl(RAC的核心类):信号类 用来数据传递

注意点:

  • 该信号默认是一个冷信号,当值改变了,也并不会触发改信号,只有订阅了该信号,才会触发改信号.
  • 订阅信号的方法: subscribeNext:

2.2 替换Target和Action

  • TextField的字符变化

  • UIButton的事件的监听

  • 手势事件

RAC的通知不需要移除,RAC会自己处理改通知的移除

  • 定时器

  • KVO
    监听UIScrollView的contentOffset