说到ReactiveCocoa,就算没有用过的这个框架的iOS开发者,一般也会想到连个个词语,函数式编程和响应式编程。
最近换了一份工作,公司用的是MVVM设计模式,自然少不了黄金搭档ReactiveCocoa(以下简称RAC),之前不太了解,实际项目也没有用到过。初次见面,被各种嵌套的block晃得眩晕,同时候也被简单的几句代码产生出来的巨大能量而震撼。
看了一些文档,大都是先讲述什么事函数式编程和响应式编程,理论知识看着看着就觉得乏累。这种认知一般都是建立在熟练了RAC框架之后,加上个人理解总结出来的,对于刚接触的开发者来说,要很好的理解这些东西,确实需要很扎实的编程基础。我觉得,还是先学会用,慢慢熟悉,然后开始的灵活运用,然后再去看这些理论性的总结,应该会更有画龙点睛的作用。
所以,我决定先不刨根到底什么是函数式编程,什么是响应式编程,就从最简单的用法开始去理解它。
使用之前当然得先导入RAC了,有两种方法,通过Submodules半自动导入和使用CocoaPods进行安装。【如果你已经安装过or熟悉安装流程,请跳过这篇文章,直接进入第二篇,如果还没有第二篇,敬请期待……】
一,通过Submodules引入RAC的工程。(与一般的第三方库不同,这里要引入的是一个新的工程到你当前的工程)
$ git submodule add https://github.com/ReactiveCocoa/ReactiveCocoa ---Submodules 是git的一个工具,能够帮助你把一个工程引入到另一个工程。
$ cd /Users/boohee/Desktop/RACShowDemo/ReactiveCocoa-master/script ---进入bootstrap目录
$ ./bootstrap 运行脚本
1、等待脚本运行结束,把ReactiveCocoa.xcodeproj 和 Carthage/Checkouts/Result/Result.xcodeproj拖进你的工程。
2、进入工程的target settings 界面,选中 General 菜单,在 Embedded Binaries 栏目里添加 ReactiveCocoa.framework 和 Result.framework。(这里不仅有iOS的framework,还有watchOS 和 TVOS 的framework,别选错了)。
3、如果你的工程不包含Swift代码 ,在 build setting 里设置 EMBEDDED_CONTENT_CONTAINS_SWIFT 为 YES。
到此RAC已经成功集成到本地工程。
二、当然就是使用CocoaPods啦(推荐使用,总体来说毕竟要方便很多)
这里默认都已经安装过CocoaPods了
$ pod search ReactiveCocoa ---在git上搜索 ReactiveCocoa 确定需要的版本
$ cd /Users/boohee/Desktop/RACDemo ---进入到本地项目所在的目录
$ vim 'Podfile' ---创建Podfile文件夹,进入编辑模式输入系统支持版本和RAC的版本号,如下:
platform :ios, '7.0'
pod 'ReactiveCocoa', '~> 2.4.7'
按 esc 退出编辑 :wq 保存退出
$ pod install --verbose --no-repo-update ---如果你网络允许,也可 pod install
然后等一会,RAC就顺利集成到你的本地工程了。
到此,准备工作已经做好了,期待与你一起开始RAC的学习之路。