美文网首页
RAC学习笔记

RAC学习笔记

作者: w_wh | 来源:发表于2018-08-14 10:14 被阅读0次

学习RAC时总结的知识点,方便以后复习。想学习的童鞋可以直接翻到最后的“传送门”。
原创文章,欢迎转载.转载请注明出处: https://www.jianshu.com/p/68b594435c66

RACSignal

  • 三种事件类型:next、error和completed。在因error或者completed事件终止之前可以无限次的发送next事件。
  • 支持的操作:filter(过滤)、map(类型转换)、flattenMap(获取信号中的信号)、doNext(附加操作)、then(传递控制权)、deliverOn(操作线程)、subscribeOn(指定scheduler)、throttle(节流)等。RACSignal的每个操作都会返回一个RACSignal(连贯接口fluent interface),有利于我们直接构建管道(不用每一步都使用中间变量)。
  • 聚合信号:RACSignal支持将N个信号聚合成一个新的信号,当N个信号中的任何一个信号发生变化时,都会聚合生成新的信号。
  • 内存管理:RAC自己持有全局的所有信号(RACSignal实例)。如果一个信号有一个或多个订阅者,那这个信号就是活跃的,不能被销毁。如果所有的订阅者都被移除了,那么这个信号就可以被销毁了(这些工作RAC已经在幕后做了,你并不需要太多关注信号的内存管理)。

RAC宏

利用RAC宏可以直接把信号的输出赋值到对象的属性上。ARC宏有两个参数,第一个参数是对象,第二个参数是对象的属性名。

RACDisposable

RACSignal的订阅方法会返回一个RACDisposable实例,你可以通过该实例的dispose方法移除订阅。

注意:如果你创建了一个管道,并且没有订阅它,那么这个管道的操作就不会被执行。

循环引用

通常情况下,信号方法的block实参中出现self时,会造成循环引用。为了更优雅(相对于__weak的方式)的避免循环引用,RAC框架包含了一个语法糖(@weakify 和 @strongify,该语句是在Extended Objective-C库中定义的宏,也被包含在RAC中)。@weakify宏让你创建一个弱引用的影子对象(如果你需要多个弱引用,你可以传入多个变量),@strongify让你创建一个对之前传入@weakify对象的强引用。

注意:如果有兴趣了解@weakify和@strongify实际上做了什么,在Xcode中,首先选中一个file,然后选择 Product -> Perform Action -> Preprocess "file"。这会对file进行预处理,展开所有的宏,以便你能看到最终的输出。

传送门:
RAC教程(上篇)
翻译自:ReactiveCocoa Tutorial – The Definitive Introduction: Part 1/2
ReactiveCocoa入门教程——第二部分
翻译自:ReactiveCocoa Tutorial – The Definitive Introduction: Part 2/2

相关文章

  • ReactiveCocoa学习笔记整理(一)

    由于近期时间相对宽裕,以及很多朋友询问关于RAC的学习路径以及资料,故而整理一下之前自己学习RAC的学习笔记,供大...

  • ReactiveCocoa & MVVM学习笔记

    网上关于RAC和MVVM的资料非常多,我写这篇主要是因为初学RAC,为自己记个学习笔记。 1. RAC是什么? (...

  • RAC研究学习(一)-- 新手入门,用法介绍

    最近项目在重构,采取MVVM+RAC模式,学习之余做点小笔记。 什么是RAC? 简单的说,RAC就是一个第三方库,...

  • RAC 学习笔记

    ReactiveCocoa 主要由以下四大核心组件构成:信号源:RACStream 及其子类;订阅者:RACSub...

  • RAC学习笔记

    学习RAC时总结的知识点,方便以后复习。想学习的童鞋可以直接翻到最后的“传送门”。原创文章,欢迎转载.转载请注明出...

  • RAC学习笔记

    前言 最近,ReactiveCocoa火的不行,网上各种大牛各种说RAC的优点,早就有学习的想法,一直没有付诸行动...

  • RAC学习笔记

    零、类结构关系 1.RACSubject::RACSignal::RACStream. 2.最基础的东西:创建信号...

  • Reactive Cocoa 学习笔记

    Reactive Cocoa 学习笔记 [TOC] 基本概念 什么是RAC ReacticeCocoa 结合了好几...

  • RAC

    ReactiveCocoa入门 学习RAC小记-适合给新手看的RAC用法总结RAC稍深入-适合新手学习RAC iO...

  • 了解这些,学习RAC不再难

    了解这些,学习RAC不再难 了解这些,学习RAC不再难

网友评论

      本文标题:RAC学习笔记

      本文链接:https://www.haomeiwen.com/subject/tgsgmftx.html