ReactiveCocoa
文章平均质量分 94
Ansel_m
阿里天猫
展开
-
ReactiveCocoa框架菜鸟入门(一)——CocoaPods添加ReactiveCocoa
CocoaPods简介CocoaPods是一个用来帮助管理第三方依赖库的工具,可以解决库与库之间的依赖关系、下载源代码、通过建立一个Xcode的workspace将第三方库与自己的项目链接起来。安装CocoaPods1.设置淘宝的ruby镜像$ gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令$ ge转载 2015-07-28 11:38:12 · 2577 阅读 · 0 评论 -
RACSignal的Subscription深入分析
ReactiveCocoa是一个FRP的思想在Objective-C中的实现框架,目前在美团的项目中被广泛使用。对于ReactiveCocoa的基本用法,网上有很多相关的资料,本文不再讨论。RACSignal是ReactiveCocoa中一个非常重要的概念,而本文主要关注RACSignal的实现原理。在阅读之前,你需要基本掌握RACSignal的基本用法本文主要包含2个部分,前半部分主要分转载 2016-10-25 17:48:36 · 224 阅读 · 0 评论 -
ReactiveCocoa之常见用法(二)
ReactiveCocoa开发中常见用法。 代替代理: rac_signalForSelector:用于替代代理。 代替KVO : rac_valuesAndChangesForKeyPath:用于监听某个对象的属性改变。 监听事件: rac_signalForControlEvents:用于监听某个事件。转载 2016-10-26 19:59:58 · 1314 阅读 · 0 评论 -
ReactiveCocoa之简介(一)
1.ReactiveCocoa简介1.ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。2.ReactiveCocoa作用在我们iOS开发过程中,经常会响应某些事件来处理某些业务逻辑,例如按钮的点击,上下拉刷新,网络请转载 2016-10-26 19:58:45 · 735 阅读 · 0 评论 -
ReactiveCocoa之RACSignal核心类的使用(三)
RACSignal使用步骤: 1.创建信号 + (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe 2.订阅信号,才会激活信号. - (RACDisposable *)subscribeNext:(void (^)(id x))nextBlock 3.发送信号 - (vo转载 2016-10-26 20:04:06 · 759 阅读 · 0 评论 -
ReactiveCocoa之RACSubject用法(四)
1.RACSubject:RACSubject:信号提供者,自己可以充当信号,又能发送信号。2.使用场景:通常用来代替代理,有了它,就不必要定义代理了。需求:1.给当前控制器添加一个按钮,push到另一个控制器界面2.另一个控制器view中有个按钮,点击按钮,返回控制器的第一个页面和接收到第二个界面的消息第一个界面:[objc] view转载 2016-10-26 20:07:59 · 706 阅读 · 0 评论 -
ReactiveCocoa之RACCommand使用(五)
1.RACCommand:RAC中用于处理事件的类,可以把事件如何处理,事件中的数据如何传递,包装到这个类中,他可以很方便的监控事件的执行过程。2.使用场景:监听按钮点击,网络请求RACCommand的简单使用 一、RACCommand使用步骤: 1.创建命令 initWithSignalBlock:(RACSignal * (^转载 2016-10-26 20:11:16 · 2496 阅读 · 0 评论 -
ReactiveCocoa之RACMulticastConnection使用(六)
1.RACMulticastConnection:用于当一个信号,被多次订阅时,为了保证创建信号时,避免多次调用创建信号中的block,造成副作用,可以使用这个类处理。2.使用注意:RACMulticastConnection通过RACSignal的-publish或者-muticast:方法创建. RACMulticastConnection使用步骤:转载 2016-10-26 20:12:38 · 474 阅读 · 0 评论 -
ReactiveCocoa之RAC映射(七)
- (void)map { // Map使用步骤: // 1.传入一个block,类型是返回对象,参数是value // 2.value就是源信号的内容,直接拿到源信号的内容做处理 // 3.把处理好的内容,直接返回就好了,不用包装成信号,返回的值,就是映射的值。 // Map底层实现:转载 2016-10-26 20:41:21 · 653 阅读 · 0 评论 -
ReactiveCocoa之RAC过滤(八)
- (void)skip { RACSubject *subject = [RACSubject subject]; [[subject skip:2] subscribeNext:^(id x) { NSLog(@"%@", x); }]; [subject sendNext:@1]; [subject转载 2016-10-26 20:42:48 · 400 阅读 · 0 评论 -
ReactiveCocoa之RAC合并(九)
@interface ViewController () @property (weak, nonatomic) IBOutlet UITextField *accountField; @property (weak, nonatomic) IBOutlet UITextField *pwdField; @property (weak, nonatomic) IBOutlet U转载 2016-10-26 20:48:15 · 1452 阅读 · 0 评论 -
ReactiveCocoa v2.5 源码解析 之 架构总览
ReactiveCocoa 是一个 iOS 中的函数式响应式编程框架,它受 Functional Reactive Programming 的启发,是Justin Spahr-Summers 和 Josh Abernathy 在开发 GitHub for Mac 过程中的一个副产品,它提供了一系列用来组合和转换值流的 API 。Mattt Thompson 大神是这样评价 Re转载 2016-01-11 16:43:08 · 1510 阅读 · 2 评论 -
最快让你上手ReactiveCocoa之基础篇
前言很多blog都说ReactiveCocoa好用,然后各种秀自己如何灵活运用ReactiveCocoa,但是感觉真正缺少的是一篇如何学习ReactiveCocoa的文章,小编看了很多篇都没看出怎么使用ReactiveCocoa,于是决定自己写一遍关于学习ReactiveCocoa的文章,本文主要针对如何从零开始学习ReactiveCocoa,这里非常感谢3个人(支点的雷纯锋,camera转载 2016-01-08 14:33:49 · 1718 阅读 · 0 评论 -
说说ReactiveCocoa 2
ReactiveCocoa是Github开源的一款cocoa FRP 框架,我在之前的文章里有过介绍(当时还是1.x版本,2.x版本有了新的变化,API也有部分不兼容) 这里再简单地提一下。Native app有很大一部分的时间是在等待事件发生,然后响应事件,比如等待网络请求完成,等待用户的操作,等待某些状态值的改变等等,等这些事件发生后,再做进一步处理。 但是这些等待和响应,并没有一转载 2015-07-29 09:12:01 · 754 阅读 · 0 评论 -
ReactiveCocoa与Functional Reactive Programming
什么是Functional Reactive ProgrammingFunctional Reactive Programming(以下简称FRP)是一种响应变化的编程范式。先来看一小段代码a = 2b = 2c = a + b // c is 4b = 3// now what is the value of c?如果使用FRP,c的值将会随着b的值改变而改转载 2015-07-29 09:17:09 · 735 阅读 · 0 评论 -
ReactiveCocoa P1
作为一个 iOS 开发者,几乎你写的每一个行代码都是针对某些事件的响应。点击一个按钮、接受一个网络消息、改变一个属性(通过键值观察)或者通过 CoreLocation 改变用户位置都是很好的例子。然而这些事件都是以不同的形式编码,例如动作、委托、KVO、回调等等。ReactiveCocoa 给事件定义了一个标准的接口,所以它们可以更容易地使用一系列基本工具来连接,过滤和合成。ReacticeC转载 2015-07-23 17:31:34 · 806 阅读 · 0 评论 -
函数式、响应式编程 - ReactiveCocoa 快速入门
函数式、响应式编程(Functional Reactive Programming)现在很火。网上的介绍也不少了。为了区别于其他教程,我这里用几个简单的例子让你马上可以投入使用。都是很常见的任务。下面操作假定你已经了解CocoaPods,现在管理库基本都用这个东西,很好用。准备导入ReactiveCocoa在pod文件添加新的类库pod "ReactiveCocoa"安装转载 2015-07-23 17:35:52 · 2367 阅读 · 0 评论 -
使用ReactiveCocoa实现iOS平台响应式编程
在说ReactiveCocoa之前,先要介绍一下FRP(Functional Reactive Programming,响应式编程),在维基百科中有这样一个例子介绍:在命令式编程环境中,a = b + c 表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。但在响应式编程中,a的值会随着b或c的更新而更新。Excel就是响应式编程的一个例子。单元格可以包含字面值或类似”=转载 2015-07-23 17:39:47 · 761 阅读 · 0 评论 -
ReactiveCocoa2 源码浅析(上)
开车不需要知道离合器是怎么工作的,但如果知道离合器原理,那么车子可以开得更平稳。ReactiveCocoa 是一个重型的 FRP 框架,内容十分丰富,它使用了大量内建的 block,这使得其有强大的功能的同时,内部源码也比较复杂。本文研究的版本是2.4.4,小版本间的差别不是太大,无需担心此问题。 这里只探究其核心 RACSignal 源码及其相关部分。本文不会详细解释里面的代码,重点在于转载 2016-01-08 11:32:23 · 966 阅读 · 0 评论 -
ReactiveCocoa2 源码浅析(下)
6、再次改进NLSubscribera.didSubscribeWithDisposable1234@protocol RACSubscriber@required- (void)didSubscribeWithDisposable:(RACCompoundDisposable *)disposab转载 2016-01-08 11:34:25 · 733 阅读 · 0 评论 -
最快让你上手ReactiveCocoa之进阶篇
前言由于时间的问题,暂且只更新这么多了,后续还会持续更新本文《最快让你上手ReactiveCocoa之进阶篇》,目前只是简短的介绍了些RAC核心的一些方法,后续还需要加上MVVM+ReactiveCocoa实战开发。如果喜欢我的文章,可以关注我,微博:吖了个峥,欢迎交流。也可以来小码哥,了解下我们的iOS培训课程。之后还会更新1.ReactiveCocoa常见操作方法介绍。转载 2016-01-08 16:13:38 · 789 阅读 · 0 评论 -
ReactiveCocoa之RAC常用宏(十)
/** * RAC有许多强大而方便的宏。 */ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self testAndtest2];转载 2016-10-26 20:49:51 · 1150 阅读 · 0 评论