一、前言
Block使用场景
二、编程思想
前沿:面对需求,往往需要可以快速实现需求,在一过程,就是编程思想。
2.1 面向过程
处理事物以过程为核心,一步一步的实现。
2.2 面向对象
万物皆对象
2.3 链式编程思想
是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。Eg:a(1).b(2).c(3)
- 链式编程特点:方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)
- 代表:masonry框架
2.4 响应式编程思想
不需要考虑调用顺序,只需要考虑结果,类似于蝴蝶效应,产生一个事件,回影响很多东西,这些事件像流一样的传播出去,然后影响结果,万物皆是流
- 代表:KVO
- 联系: KVO的实现原理
2.5 函数式编程思想
是把操作尽量写成一系列嵌套的函数或者方法调用。
- 函数式编程思想本质:就是往方法中传入Block,方法中嵌套Block调用,把代码聚合起来管理
- 函数式编程特点:每个方法必须有返回值(本身对象),把函数或者Block当作参数,block参数(需要操作的值)block返回值(操作结果).
- 代表:ReactiveCocoa
练习三:用函数式编程实现.写一个加法计算器,并且加法计算器自带判断是否等于某个值.
三、ReactiveCocoa编程思想
ReactiveCocoa结合了几种编程风格:
函数式编程(Functional Programming)
响应式编程(Reactive Programming)
So,有描述ReactiveCocoa为函数响应式编程(FRP)框架.
After this,使用RAC解决问题,就不需要考虑调用顺序,直接考虑结果,把每一次操作都写成一系列嵌套的方法中,使代码高聚合,方便管理。
四、如何导入ReactiveCocoa框架