用测试用例探索 Combine 的工作机制
用测试用例探索 Combine 的工作机制
关于本书
在这个小册子里,我们会尝试用一些测试用例探寻 Combine 的工作机制。而整理这些内容的动力,则源 于开发泊学 App 的时候,把代码迁移到 Combine 过程中时遇到的一个 Bug。至于这个 Bug 本身,我们会在这个册子的最后才向大家揭晓,因为只有到那个时候,你可能才真的能理 解我在说什么。相信我,如果你希望尝试使用 Combine 开发一些应用,理解我们接下来要 讨论的东西真的可以为你节约很多时间。 因此,这不是一个 Combine 的入门教程,所以,确保你在继续之前,至少要体验过 Combine, 如果你还有 RxSwift4 的开发经验,就更好了:)
这本册子中用到的全部代码,都在这里。 除了文字内容之外,我们还为每一章内容录制了影片,它们也是完全免费的。影片的链接,
会放在每一章的开始,大家可以直接点击观看(无需注册)。
目录
-
写在前面
- 关于代码和影片
- 关于邀请码
-
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%的版税减去0.50美元固定费用。在10美元的销售中您可赚取8美元,在20美元的销售中可赚取16美元。因此,如果我们以20美元售出5000本未退款的图书,您将赚取80,000美元。
(是的,一些作者在Leanpub上已经赚取了远超过这个数额的收入。)
事实上,作者们通过在Leanpub上写作、出版和销售已经赚取了超过1400万美元。
了解更多关于在Leanpub上写作的信息
免费更新。无DRM。
如果你购买了Leanpub的书,只要作者更新这本书,你就可以免费获得更新!许多作者使用Leanpub在他们编写书籍的过程中发布他们的作品。所有读者都可以获得免费更新,无论他们何时购买的书或他们支付了多少钱(包括免费)。
大多数Leanpub书籍都提供PDF(适用于计算机)、EPUB(适用于手机和平板电脑)和MOBI(适用于Kindle)格式。书籍包含的格式会显示在此页面的右上角。
最后,Leanpub的书籍没有任何DRM版权保护的限制,所以你可以轻松地在任何支持的设备上阅读它们。