用测试用例探索 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%的版税减去0.50美元固定费用在10美元的销售中您可赚取8美元,在20美元的销售中可赚取16美元。因此,如果我们以20美元售出5000本未退款的图书,您将赚取80,000美元

(是的,一些作者在Leanpub上已经赚取了远超过这个数额的收入。)

事实上,作者们通过在Leanpub上写作、出版和销售已经赚取了超过1400万美元

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

免费更新。无DRM。

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

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

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

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

在 Leanpub 上写作和出版

您可以使用 Leanpub 轻松地编写、出版和销售进行中的以及已完成的电子书和在线课程!

Leanpub 是面向专业作者的强大平台,将简单优雅的写作和出版工作流程与专注于销售进行中电子书的商店相结合。

对作者来说,Leanpub 就像一台神奇的打字机:只需用纯文本写作,点击一个按钮就能出版您的电子书。(如果您用自己的方式制作电子书,您甚至可以上传自己的 PDF 和/或 EPUB 文件,然后一键出版!)确实就是这么简单。

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