iOS开发---ReactiveCocoa浅析
文章平均质量分 89
ZH952016281
世界那么大,不得去看看
展开
-
ReactiveCocoa - iOS开发的开源框架
什么是 ReactiveCocoaReactiveCocoa(其简称为 RAC)是由 Github 开源的一个应用于 iOS 和 OS X 开发的新框架。RAC 具有函数式编程和响应式编程的特性。它主要吸取了 .Net 的 Reactive Extensions 的设计和实现。ReactiveCocoa 试图解决什么问题经过一段时间的研究,我认为 ReactiveCoc翻译 2015-11-05 15:30:58 · 774 阅读 · 0 评论 -
ReactiveCocoa中潜在的内存泄漏及解决方案
ReactiveCocoa是GitHub开源的一个函数响应式编程框架,目前在美团App中大量使用。用过它的人都知道很好用,也确实为我们的生活带来了很多便利,特别是跟MVVM模式结合使用,更是如鱼得水。不过刚开始使用的时候,可能容易疏忽掉一些隐藏的细节,从而导致内存泄漏等问题。本文就带大家深入了解下ReactiveCocoa中隐藏的一些细节,帮助大家以更加正确的姿势使用ReactiveCocoa。原创 2016-11-15 15:01:35 · 3927 阅读 · 0 评论 -
RACSignal 冷信号和热信号底层实现分析
前言由于最近在写关于RACSignal底层实现分析的文章,当然也逃不了关于冷热信号操作的分析。这篇文章打算分析分析如何从冷信号转成热信号的底层实现。目录1.关于冷信号和热信号的概念2.RACSignal热信号3.RACSignal冷信号4.冷信号是如何转换成热信号的一. 关于冷信号和热信号的概念冷热信号的概念是源自于源于.NET框架Reactive Extens原创 2016-12-09 11:42:34 · 5137 阅读 · 1 评论 -
RACSignal 所有变换操作底层实现分析(2)
前言继续分析RACSignal的变换操作的底层实现。目录1.过滤操作2.组合操作一. 过滤操作过滤操作也属于一种变换,根据过滤条件,过滤出符合条件的值。变换出来的新的信号是原信号的一个子集。1. filter: (在父类RACStream中定义的)这个filter:操作在any:的实现中用到过了。- (instancetype)filter:(BOO原创 2016-12-05 17:20:40 · 1016 阅读 · 0 评论 -
RACSignal 所有变换操作底层实现分析(1)
之前详细分析了RACSignal是创建和订阅的详细过程。看到底层源码实现后,就能发现,ReactiveCocoa这个FRP的库,实现响应式(RP)是用Block闭包来实现的,而并不是用KVC / KVO实现的。在ReactiveCocoa整个库中,RACSignal占据着比较重要的位置,而RACSignal的变换操作更是整个RACStream流操作核心之一。在上篇文章中也详细分析了bind操作原创 2016-12-05 16:11:05 · 1339 阅读 · 0 评论 -
RACSignal的变换操作的底层实现(3)
前言继续分析RACSignal的变换操作的底层实现。目录1.高阶信号操作2.同步操作3.副作用操作4.多线程操作5.其他操作一. 高阶信号操作高阶操作大部分的操作是针对高阶信号的,也就是说信号里面发送的值还是一个信号或者是一个高阶信号。可以类比数组,这里就是多维数组,数组里面还是套的数组。1. flattenMap: (在父类RACStream中定义的)原创 2016-12-12 15:59:00 · 2151 阅读 · 0 评论