在这个时候开始学习ReactiveCocoa的使用已经算是比较晚了,这是我真正意义上对ReactiveCocoa开始有所接触,假如你想用ReactiveCocoa这个框架,那么你可以去github上把ReactiveCocoa下载并且手动加到你的项目当中去或者通过cocoapods下载下来,在这里我是通过cocoapods下载下来的,对于cocoapods的使用很多网站都有
一、出现的相关问题:
首先在Podfile加入pod 'ReactiveCocoa',然后执行安装命令,但是这时终端会报出一个错误
这是因为还需要在Podfile文件中加入use_frameworks!这句话,再重新执行以下命令就ok了,这个时候command+B发现又有错误了:
“Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.
这是swift版本的问题,解决方法
点击项目中的pods,然后再点击ReactiveCocoa,在Building Setting里面搜索swift,把Use Legacy Swift Language Version改成Yes就行了,这样就通过编译了。
二、ReactiveCocoa的简单使用:
信号的使用包括:创建信号、发送信号、信号的订阅
RACSignal的使用
RACSubject与RACReplaySubject的使用
遍历字典、数组
字典转模型
信号代替代理
我们都知道Apush到B,然后从B传值到A是逆传值,我们可以用代理、block等方法
在A控制器里的事件
在B控制器.h文件中
在B控制器.m文件中的按钮事件中
RACCommand的使用
RACCommand一般用于网络请求与事件处理
RACMulticastConnection的使用
RAC一些常见的宏
RAC(TARGET, ...)这个宏是绑定某个对象的某个属性
RAC(self.textLabel,text) = _textField.rac_textSignal;在这里说白了这是绑定label与textfield的值一致,只要textfield中的值改变那么textLabel中的值也随之改变,之前我们的做法是监听textfield中值的改变
RACObserve(TARGET, KEYPATH)这个宏是监听某个对象某个属性的改变
[RACObserve(self.textLabel, bounds) subscribeNext:^(id x) {
NSLog(@"%@",x);
}];这可以监听self.textLabel中的bounds属性的改变
这是我最近学习了ReactiveCocoa一些总结,都是一些比较简单的用法