[转]RAC 知识点汇总 总结得非常全
一:关于ReactiveCocoa的知识点
1:RACSigner基础知识点
|
常见的操作方法:
|
2:RACSubject基础知识点
RACSubject:信号提供者,自己可以充当信号,又能发送信号 使用场景:通常用来代替代理,有了它,就不必要定义代理了 |
3:RACSequence基础知识点
|
4:RACCommand基础知识点
|
5:RACMulticastConnection基础知识点
|
6:RAC结合UI一般事件
|
7:高阶操作知识内容
8:RAC并发编程知识点
|
9:冷信号跟热信号知识点
|
10:RACDisposable知识点
|
11:RACChannel知识点
RACChannelTerminal *channelA = RACChannelTo(self, valueA); |
12:RAC倒计时小实例
//倒计时的效果 |
13:常见的宏定义运用
|
二:关于使用ReactiveCocoa结合MVVM模式的实例;
MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点
低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的”View”上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。
可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。
独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。
可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。
三:单元测试知识
单元测试这边主要采用两种方式,一种是XCode自动的XCTestCase进行,如下面这些就是它所对应的断言等,另外一种是采有KIWI的插件进行测试;项目中有针对viewController、viewModel、帮助类等的测试实例;运用快捷键(command+U)可以运行单元测试实例;
|
采用KiWi的单元测试效果:
|
关于kiwi中的操作类型可以直接查看:https://github.com/allending/Kiwi/wiki/Expectations
注意:发现在进行单元测试时,针对RAC就会报[RACStream(Operations) reduceEach:]_block_invoke,后来发现是Pod引入写法有问题,导致的【it usually means RAC is being linked twice. Make sure it’s only in your app target.】 所以测试的MobileProjectTests特别要注意;
|
四:ReactiveCocoa知识分享地址
|