导入ReactiveCocoa出现的相关问题及其使用

在这个时候开始学习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版本的问题,解决方法


导入ReactiveCocoa出现的相关问题及其使用_第1张图片

点击项目中的pods,然后再点击ReactiveCocoa,在Building Setting里面搜索swift,把Use Legacy Swift Language Version改成Yes就行了,这样就通过编译了。

二、ReactiveCocoa的简单使用:

信号的使用包括:创建信号、发送信号、信号的订阅

RACSignal的使用

导入ReactiveCocoa出现的相关问题及其使用_第2张图片

RACSubject与RACReplaySubject的使用

导入ReactiveCocoa出现的相关问题及其使用_第3张图片
导入ReactiveCocoa出现的相关问题及其使用_第4张图片

遍历字典、数组

导入ReactiveCocoa出现的相关问题及其使用_第5张图片

字典转模型

导入ReactiveCocoa出现的相关问题及其使用_第6张图片

信号代替代理

我们都知道Apush到B,然后从B传值到A是逆传值,我们可以用代理、block等方法

在A控制器里的事件

导入ReactiveCocoa出现的相关问题及其使用_第7张图片

在B控制器.h文件中

导入ReactiveCocoa出现的相关问题及其使用_第8张图片

在B控制器.m文件中的按钮事件中

导入ReactiveCocoa出现的相关问题及其使用_第9张图片

RACCommand的使用

RACCommand一般用于网络请求与事件处理

导入ReactiveCocoa出现的相关问题及其使用_第10张图片

RACMulticastConnection的使用

导入ReactiveCocoa出现的相关问题及其使用_第11张图片

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一些总结,都是一些比较简单的用法

你可能感兴趣的:(导入ReactiveCocoa出现的相关问题及其使用)