RACSignal_51CTO博客
最近又在看 ReactiveCocoa 了(下面用 RAC 来替代 ReactiveCocoa)。虽然依然是 hello world 级别。但是 hello world 也是可以分级别的。这次自我感觉是一个偏向中级的 hello world。 我们先来张图:在 RAC 的文档和一些介绍 RAC 的 Keynote 资料里面我们可以看到说 RACSignal 可以来替代 Delegate、 Bloc
转载 2023-07-27 16:40:22
46阅读
ReactiveCocoa是一个FRP的思想在Objective-C中的实现框架,目前在美团的项目中被广泛使用。对于ReactiveCocoa的基本用法,网上有很多相关的资料,本文不再讨论。RACSignal是ReactiveCocoa中一个非常重要的概念,而本文主要关注RACSignal的实现原理。在阅读之前,你需要基本掌握RACSignal的基本用法本文主要包含2个部分,前半...
原创 2021-05-11 20:24:17
402阅读
# 科普:iOS RACSignal 发送信号 在iOS开发中,我们经常需要在不同组件之间传递数据或者事件。ReactiveCocoa(简称RAC)是一个函数响应式编程框架,提供了一种优雅的方式来处理数据流和事件流。RACSignal是ReactiveCocoa中的一个核心类,它表示一个持续的数据流,并且可以发送新的数据或者事件。 ## RACSignal的基本概念 RACSignal是Re
原创 5月前
26阅读
前言 ReactiveCocoa是一个(第一个?)将函数响应式编程范例带入Objective-C的开源库。ReactiveCocoa是由Josh Abernathy和Justin Spahr-Summers 两位大神在对GitHub for Mac的开发过程中编写的。Justin Spahr-Sum
转载 2016-11-21 09:07:00
150阅读
2评论
第1种:代替代理 RACSignal代替代理很简单,不需要像代理一样设置协议,不需要像block一样定义block类型和赋值,通过下面的一句话事件就能实现。 @weakify(self); 1. [[_tipGBHeadInfoPanel rac_signalForSelector:@selector(closeAction:)] subscribeNext:^(id x
原创 2022-08-19 02:28:16
277阅读
https://juejin.im/post/5829f4c3570c350063c436ac 前言 ReactiveCocoa是一个(第一个?)将函数响应式编程范例带入Objective-C的开源库。ReactiveCocoa是由Josh Abernathy和Justin Spahr-Summer
转载 2018-03-20 23:43:00
48阅读
2评论
前言详细分析了RACSignal是创建和订阅的详细过程。看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用KVC / KVO实现的。在ReactiveCocoa整个库中,RACSignal占据着比较重要的位置,而RACSignal的变换操作更是整个RACStream流操作核心之一。在上篇文章中也详细分析了bind操作的实
转载 2018-03-21 18:37:00
66阅读
2评论
RACSignal可以说是RAC中最重要的类。RACSignal的订阅是使用RAC的核心机制。 1. RACSignal 订阅机制 a)  RACSignal的创建:RACSignal的创建通常是使用+createSignal:这个方法创建出来的。传入参数是一个(传参是RACSubscriber的一个实例,返回是RACDisposable实例)的
本文适合有一定RAC基础的童鞋做不时的查询,所以本文不做详细解释。 一、常见类 1、RACSiganl 信号类。 RACEmptySignal :空信号,用来实现 RACSignal 的 +empty 方法; RACReturnSignal :一元信号,用来实现 RACSignal 的 +retur
转载 2018-03-28 14:28:00
92阅读
2评论
简介RACSequence 代表的是一个不可变的值的序列,与 RACSignal 不同,它是 pull-driven 类型的流。从严格意义上讲,RACSequence 并不能算作是信号源,因为它并不能像 RACSignal 那样,可以被订阅者订阅,但是它与 RACSignal 之间可以非常方便地进行转换。从理论上说,一个 RACSequence 由两部分组成:head :指的是序列中的第一个对象,如
原创 2021-07-19 15:39:59
65阅读
RACSignal的每个操作都会返回一个RACsignal,这在术语上叫做连贯接口(fluent interface)。这个功能可以让你直接构建管道,而不用每一步都使用本地变量。[[[self.usernameTextField.rac_textSignal  map:^id(NSString*text){    return 
转载 精选 2015-11-12 13:13:16
576阅读
之前详细分析了RACSignal是创建和订阅的详细过程。看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用KVC / KVO实现的。在ReactiveCocoa整个库中,RACSignal占据着比较重要的位置,而RACSignal的变换操作更是整个RACStream流操作核心之一。在上篇文章中也详细分析了bind操作的实
项目中如果没有使用swift的话使用cocoapods 导入pod ‘ReactiveObjC’, ‘~> 3.0.0’然后在导入头文件ReactiveObjC.h就可以使用了,3.0.0以上的版本支持了swift,如果你是纯OC工程,不建议使用3.0.0以上的版本。RACSignal:顾名思义,信号类,signal本身不具备发送信号的能力,下面通过代码来看看。在创建RACSignal中先说
RAC(ReactiveCocoa) 文章目录RAC(ReactiveCocoa)响应式编程和函数式编程的区别函数式编程响应式编程响应式编程的优点RAC操作1.利用button点击实现点击事件和传值2.RACSignal用法RACSignal总结:3.对于label的TapGesture和KVO测试4.对textField的监听即过滤操作5.RAC过滤操作6.RAC映射操作7.RAC组合操作8.R
登陆界面的用法RAC(self.logInButton, enabled) = [RACSignal    combineLatest:@[        self.usernameTextField.rac_textSignal,        self.passwordTextField.rac_textSignal,        RACObserve(LoginMana
原创 2023-05-23 00:11:16
164阅读
monad的特征: 类型转化+添加新的操作。 monad RACStream RACSignal RACSubject monad:单一体,(不可分的)个体 以计算为中心的封装。 In functional programming, a monad is a design pattern that
转载 2018-03-23 19:24:00
42阅读
2评论
http://www.vincenttsai.com/reactivecocoa-racsequence/ReactiveCocoa – RACSequence介紹Leave a replyRactiveCocoa中很重要的兩個class,一個是RACSignal,一個是RACSequence,而這兩個class的super class就是RACSt
转载 2023-05-23 12:46:28
41阅读
函数式 响应编程 ReactiveCocoa的基本使用方法 ReactiveCocoa是github一个开源项目,是在iOS平台上对FRP的实现。FRP的核心是信号,信号在ReactiveCocoa(以下简称RAC)中是通过RACSignal来表示的,信号是数据流,可以被绑定和传递。 可以把信号想象
转载 2016-09-16 00:11:00
122阅读
2评论
概念Observable 等同于 RAC 中的信号 RACSignal。它会发送 3 种事件:nextcompletederror事件 Event 是一种特殊的枚举,包含了上述 3 个值,其中 next 和 error 事件都会带一个参数,但 completed 事件没有参数:public enum Event<Element> { case next(Element) c
本文记录一些关于学习ReactiveCocoa基础知识内容,对于ReactiveCocoa相关的概念如果不了解可以网上搜索;RACSignal有很多方法可以来订阅不同的事件类型,ReactiveCocoa框架使用category来为很多基本UIKit控件添加signal。本文有收集一些网上其它文章的
转载 2018-03-28 17:52:00
50阅读
2评论
  • 1
  • 2