用测试用例探索 Combine 的工作机制
免费!
有会员资格
$7.99
最低付费价格

用测试用例探索 Combine 的工作机制

关于本书

在这个小册子里,我们会尝试用一些测试用例探寻 Combine 的工作机制。而整理这些内容的动力,则源 于开发泊学 App 的时候,把代码迁移到 Combine 过程中时遇到的一个 Bug。至于这个 Bug 本身,我们会在这个册子的最后才向大家揭晓,因为只有到那个时候,你可能才真的能理 解我在说什么。相信我,如果你希望尝试使用 Combine 开发一些应用,理解我们接下来要 讨论的东西真的可以为你节约很多时间。 因此,这不是一个 Combine 的入门教程,所以,确保你在继续之前,至少要体验过 Combine, 如果你还有 RxSwift4 的开发经验,就更好了:) 

这本册子中用到的全部代码,都在这里。 除了文字内容之外,我们还为每一章内容录制了影片,它们也是完全免费的。影片的链接,

会放在每一章的开始,大家可以直接点击观看(无需注册)。 

关于作者

Mars
Mars

十年,我不在创业,就在创业的路上。

2005年,我开始步入IT行业。那个时候产品经理还没有“小CEO“的光环,也没有“产品狗”的苦逼,大部分程序员也都还认为自己就是写代码的。

而自己在那些年,跑过采访、写过稿子,憋过文案、搞过设计、做过硬件、写过软件、带过团队。既和朋友一起尝试过捞一把中关村上空漂浮的美元,也和传统行业的老板一起下乡共过事。

崔轶,男,北京人,儿立之年,无背景,也不是富二代。爱编程,C++死忠,酷爱操作系统内核、数据结构、系统开发这些看似很死板的玩意儿;爱读书,唯爱技术书, 喜欢孟岩老师犀利幽默的笔风(感谢过去一起共事的岁月)、侯捷老师深厚的技术文学底蕴以及Stanley Lippman、Scotte Mayers、M. Josuttis这些大师对技术细节严谨、准确、实用的阐述。

正是这些爱好,使得完美融合了文学和技术东西,对我有一种特别的吸引力。每每遇之,则有相见恨晚的喜悦,读之,亦有“漫卷诗书喜欲狂”的快感。

因此,写代码和写书,打小就是人生中的一大乐事,希望更多人学会编程,爱上编程。

目录

  • 写在前面
    • 关于代码和影片
    • 关于邀请码
  • Chapter One Combine 中的订阅和发布模型
    • 影片地址
    • Combine 中的发布者和订阅者
    • 观察 Combine 的事件订阅模型
    • What’s next?
  • 模拟 Subscription 实现 - I
    • 影片地址
    • 一个完整的订阅发布模型
    • 自定义 Subscription 实现
    • What’s next?
  • 模拟 Subscription 实现 - II
    • 影片地址
    • 自定义 Publisher
    • What’s next?
  • 模拟 Subscription 实现 - III
    • 影片地址
    • 自定义 CustomScan
    • 通过单元测试验证模型
    • What’s next?
  • 让 CustomSubject 线程安全
    • 影片地址
    • AtomicBox
    • CustomSuject 的线程安全性
    • What’s next?
  • 让 CustomSubject 线程安全
    • 影片地址
    • 共享 Subject
    • 缓存计算出来的事件
    • What’s next?
  • 实现自定义的事件缓冲区 - I
    • 影片地址
    • 定义 Buffer
    • 自定义 SubscriptionBehavior
    • What’s next?
  • 实现自定义的事件缓冲区 - I
    • 影片地址
    • BufferSubject
    • 用单元测试验证结果
    • What’s next?
  • 有些意外的 Subject 生命周期
    • 影片地址
    • 从一个最自然的模型开始
    • 不会自动取消的订阅者
    • 一个不需要任何强引用的场景
    • What’s next?
  • Combine 中的多重订阅 - I
    • 影片地址
    • 什么是多重订阅呢
    • MergeSink
    • What’s next?
  • Combine 中的多重订阅 - II
    • 影片地址
    • 从测试用例开始
    • 无法“续命”的订阅
    • What’s next?
  • Combine 事件供给机制的回顾
    • 影片地址
    • CustomDemandSink
    • CustomDemandSink
    • 编写测试用例
    • What’s next?
  • Combine 中的异步事件调度
    • 影片地址
    • 一个形式上异步的测试用例
    • 一个会丢事件的订阅场景
    • 一个便于观察 Publisher 的方法
    • 重新观察之前的丢消息场景
    • 妥善使用 receive(on:) 的方法
    • What’s next?
  • At Last

Leanpub 无条件、零风险的100%满意保证

支付后的60天内,只需简单点击两下,您便可以退书并且取回先前支付的全部金额。退款是手动处理的,因此可能需要几天时间来完成整个流程。
查看完整条款

在$10的购买中赚$8,在$20的购买中赚$16

我们在$7.99或以上的购买中支付80%的版税,并在$0.99至$7.98的购买中支付80%的版税减去50美分的固定费用在$10的销售中赚$8,在$20的销售中赚$16。因此,如果我们以$20销售5000本未退款的书,您将赚取$80,000

(是的,一些作者已经在Leanpub上赚了很多钱。)

实际上,作者在Leanpub上赚取了超过1300万美元通过写作、出版和销售。

了解更多关于Leanpub写作的信息

免费更新。无DRM。

如果你购买了Leanpub的书,只要作者更新这本书,你就可以免费获得更新!许多作者使用Leanpub在他们编写书籍的过程中发布他们的作品。所有读者都可以获得免费更新,无论他们何时购买的书或他们支付了多少钱(包括免费)。

大多数Leanpub书籍都提供PDF(适用于计算机)、EPUB(适用于手机和平板电脑)和MOBI(适用于Kindle)格式。书籍包含的格式会显示在此页面的右上角。

最后,Leanpub的书籍没有任何DRM版权保护的限制,所以你可以轻松地在任何支持的设备上阅读它们。

了解更多关于Leanpub的电子书格式以及在哪里阅读它们

在 Leanpub 上写作和出版

作者与出版社使用 Leanpub 来出版正在写作中和已完成的书籍,就像这本书一样。你也可以使用 Leanpub 来撰写、出版和销售你的作品!Leanpub 是功能强大的平台,非常适合认真的作者。它结合了简单、优雅的写作与出版流程,以及一个可销售正在写作中的电子书的线上商店。Leanpub 是作家的神奇之笔:只需编写纯文本,然后点击按钮即可出版你的电子书。真的就是这么简单。

学习更多关于在 Leanpub 上写作的信息