不忘初心,方得始终
作为简书的新成员,怀着惴惴不安的心情写下第一篇。
ReactiveCocoa在OC年代,我表示没有接触过,最近由于面试的关系,急需入手ReactiveCocoa技能包。
在正式开始之前,对于查阅资料,有点点想说的:
- 不要盲目使用baidu,google才是码农的正途。
- 首先首先首先(说三遍)入手的应该还是官网。
Step One:敲开官网的大门
https://github.com/ReactiveCocoa/ReactiveCocoa
Step Two:闲话不多说,找到Getting started
看ReactiveCocoa官方的意思是推荐使用Carthage来管理并添加ReactiveCocoa,对于熟悉CocoaPods的同学可以直接出门右拐去获取CocoaPods的ReactiveCocoa配置了。
注意:Carthage仅支持动态库,并且仅在iOS8以上可用,而且似乎仅仅支持git仓库?
Step Three:搞掂Carthage配置,使用CocoaPods的可以略过
Carthage是个什么东东,和CocoaPods有何不同,可以去Carthage官网自行学习,想看中文版的请参考Carthage使用说明。
1.首先安装Carthage:
- 第一种安装方法:
- 进入Carthage安装包下载页。
- 下载Carthage.pkg安装。
- 第二种安装方法,cli安装:
brew update
brew install carthage
2.安装完成创建Carthage文件:
新建一个iOS项目,在项目的根目录下创建名为Cartfile的文件,写入如下内容:
# Require version 4.2.2 or later
github "ReactiveCocoa/ReactiveCocoa" >= 4.2.2
>=和=的区别:=代表从从指定版本到倒数第二位版本号升1为止,本示例中则表示 4.2.2 <= 版本 < 4.3.0。
3.项目根目录下运行:
carthage update
由于网络原因,我试了3次最终才更新成功,大概更新了5分钟左右,项目根目录下生成了Cartifile.resolved文件和Carthage文件夹
Carthage/Checkouts/目录下放的就是下载好的动态库文件了。
4.利用xcode打开项目
5.在打开的Embedded Binaries窗口添加ReactiveCocoa动态库
6.新建Build Phases
Step Four:项目中利用ReactiveCocoa编写代码
import ReactiveCocoa
...
let textField = UITextField()
let textString = textField.rac_textSignal()
.toSignalProducer()
.map { text in text as! String }
...
折腾的满头大汗,终于写完入门第一篇了,希望是一个不错的开始。