ios_rac_demo1_login.md
iOS-RAC实战1-登录
RAC介绍
RAC是Github写的一套函数响应式编程的iOS实现,它不仅在实现层为大家提供了一个新的思路,也给架构层带来了变化。具体可以查看Limboy的两篇博客:《说说ReactiveCocoa 2》和《ReactiveCocoa与Functional Reactive Programming》。
我本人也是从Limboy的两篇博客开始看起来的,不过单纯走马观花的看,并没有深刻理解RAC的精髓,总有一种“这东西看起来挺好,但是用起来不知如何?”的感觉。所以从这一篇开始,我将集中为大家使用RAC来构建一些iOS开发中常见的场景,使大家对RAC的理解更快一些。
本例介绍
本例主要实现登录页的功能,这是大家在iOS中经常需要开发的一个功能,我将全面的将分析、设计、实现的过程展示给大家,所有观点都是个人观点,如果大家有更好的设计与实现,欢迎与我交流。
用到的RAC类和接口
RACSubject类
Subject类是一个自由度很高的信号,它表示一个延迟加载并且延迟更新的对象,通过sendNext:
方法,任何的线程可以在任何的时机改变Subject的值,通过多个订阅者又可以监听这一个值的变化。
RACReplySubject类
当有新的订阅者的时候,Subject的last值并不会send给新的订阅者,这可能并不是我们想要的,而一个ReplySubject会保持你想要的最后几个值,在新的订阅者订阅的时候发送给它。