首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
神奇的RAC宏
】的更多相关文章
神奇的RAC宏
先说说RAC中必须要知道的宏 RAC(TARGET, [KEYPATH, [NIL_VALUE]]) 使用: RAC(self.outputLabel, text) = self.inputTextField.rac_textSignal; RAC(self.outputLabel, text, @"收到nil时就显示我") = self.inputTextField.rac_textSignal; 这个宏是最常用的,RAC()总是出现在等号左边,等号右边是一个RACSignal,…
ReactiveCocoa代码实践之-RAC网络请求重构
前言 RAC相比以往的开发模式主要有以下优点:提供了统一的消息传递机制:提供了多种奇妙且高效的信号操作方法:配合MVVM设计模式和RAC宏绑定减少多端依赖. RAC的理论知识非常深厚,包含有FRP,高阶函数,冷信号与热信号,RAC Operation,信号的生命周期等,这些文档里都有介绍. 但是由于RAC本身的特性,可能会听上去容易上手难. 本文还是从一个比较接地气的角度开始的.因为现在要做一个完美100%的全项目ReactiveCocoa架构基本不太现实,大多数项目都会有很多历史包袱,我们只能…
RAC +MVVM
https://blog.csdn.net/capf_sam/article/details/60960530 https://blog.csdn.net/capf_Sam/article/details/60960615 http://www.cocoachina.com/ios/20170612/19500.html //响应式 <ReactiveObjc.h> [[XXX rac_signalForSelector] subscribeNext:^(RACTuple * x){}]; […
ReactiveObjC(RAC)的使用汇总
RAC 指的就是 RactiveCocoa ,是 Github 的一个开源框架,能够帮我们提供大量方便的事件处理方案,让我们更简单粗暴地去处理事件,现在分为 ReactiveObjC 和 ReactiveSwift ,两个框架的功能使用相似,由于正好在学习这个然后公司项目是用 OC 写的,所以将 ReactiveObjC 的使用方法记录一下. ReactiveObjC 的使用 RAC 的核心思想:创建信号 - 订阅信号 - 发送信号 ,并且在 RAC 中我们会看到大量的 block ,所以在使用…
iOS Reactivecocoa(RAC)知其所以然(源码分析,一篇足以)
前言 如今RAC大行其道,对其讲解的博客也多不胜数,稍微有点经验的估计也已经对这个爽到不要不要的框架运用自如了,真正沉下来研究其实现原理的估计也不在少数,这里仅仅是记录一下自己的分析理解,更是在写这篇博客的过程中深化自己对RAC的认知,可能就是想到哪写到哪,各位朋友能从其中学到东西是最好了,要是感觉没什么干货也别对小弟拍砖啊! 一.关于常见类 1.RACSiganl 信号类的使用 如下图: 完成一个信号的生命周期分为四步: 1.创建信号 2.订阅信号 3.发送信号 4.取消订阅(图中未标明) 下…
ReactiveCocoa入门教程——第二部分(转)
ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术.在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号.你还学到了如何转换.分割和聚合这些信号. 在本系列教程的第二部分,你将会学到一些ReactiveCocoa的高级功能,包括: 另外两个事件类型:error 和 completed 节流 线程 延伸 其他 是时候深入研究一下了. Twitter Instant 在本教程中你将要开发的应用叫Twitter Instant…
ReactiveCocoa的冷信号与热信号 探讨
背景 ReactiveCocoa(简称RAC)是最初由GitHub团队开发的一套基于Cocoa的FRP框架.FRP即Functional Reactive Programming(函数式响应式编程),其优点是用随时间改变的函数表示用户输入,这样就不需要可变状态了.我们之前的文章“RACSignal的Subscription深入分析”里曾经详细讲解过RAC核心概念之一RACSignal的实现原理.在美团客户端中,我们大量使用了这个框架.冷信号与热信号的概念很容易混淆并造成一定的问题.鉴于这个问题具…
ReactiveCocoa入门教程——第二部分【转载】
ReactiveCocoa是一个框架,它能让你在iOS应用中使用函数响应式编程(FRP)技术.在本系列教程的第一部分中,你学到了如何将标准的动作与事件处理逻辑替换为发送事件流的信号.你还学到了如何转换.分割和聚合这些信号. 在本系列教程的第二部分,你将会学到一些ReactiveCocoa的高级功能,包括: 另外两个事件类型:error 和 completed 节流 线程 延伸 其他 是时候深入研究一下了. Twitter Instant 在本教程中你将要开发的应用叫Twitter Instant…
ReactiveCocoa代码实践之-更多思考
三.ReactiveCocoa代码实践之-更多思考 1. RACObserve()宏形参写法的区别 之前写代码考虑过 RACObserve(self.timeLabel , text) 和 RACObserve(self , timeLabel.text) 的区别. 因为这两种方法都是观察self.timeLabel.text的属性,并且都能实现功能.估计是作者原本用的其中一种后来对另一种也提供了支持,究竟有什么区别哪一种写法更好? 点进去看RACObserve的源码 大多都是方法调用,一层一层…
ReactiveCocoa基础知识内容
本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索:RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCocoa框架使用category来为很多基本UIKit控件添加signal.本文有收集一些网上其它文章的实例跟内容: 一:先创建页面布局(准备阶段) @interface ViewController () @property(strong,nonatomic)UITextField *nameText…