本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 1.核心概念.     内容概览 前言 核心概念 RxSwift Combine 总结 参考内容   前言   未来已来,只是尚未流行! 响应式编程 这个名词已经久负盛名,但是在实际项目中采用了响应式编程的公司其实不多.如果您有 iOS 开发经历,那么您多半听说过 RxSwift,而 Rx 源自微软.提到Rx,往往也会提到源自微软的 MVVM模式.不过,本文不会讲解 MVVM. 由于 Combi…
  本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 2.通过 ConnectablePublisher 控制何时发布.   内容概览 前言 使用 makeConnectable() 和 connect() 手动控制发布 使用 autoconnect() 操作符进行自动连接 总结   前言   使用 Connectable Publisher, 你可以决定发布者何时开始发送订阅元素给订阅者.那么,为什么我们需要这么做? 使用 sink(receiv…
  本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 3.使用 Subscriber 控制发布速度.   内容概览 前言 在发布者生产元素时消耗它们 使用自定义的订阅者施加背压(back pressure) 使用背压操作符管理无限需求(Unlimited Demand) 总结   前言   对于大多数响应式编程场景而言,订阅者不需要对发布过程进行过多的控制.当发布者发布元素时,订阅者只需要无条件地接收即可.但是,如果发布者发布的速度过快,而订阅者接…
  本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用通知.   内容概览 前言 让通知处理代码使用 Combine 总结   前言   通知中心是苹果开发者常用的功能,很多框架都会使用通知中心来向外部发送异步事件.对于iOS开发人员而言,以下代码一定非常眼熟: var notificationToken: NSObjectProtocol? override func viewDidLoad() { super.vi…
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用计时器. 内容概览 前言 使用计时器执行周期性的工作 将计时器转换为计时器发布者(Timer.TimerPublisher) 总结 前言 计时器是苹果开发者常用的功能.如果你的应用使用 Foundation 框架中的计时器 Timer 来周期性地执行某些操作,你可以用 Combine 简化这些代码. 现在,让我们来学习如何使用 Combine 处理计时器,并将已有的计时…
  本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中使用 KVO.   内容概览 前言 用 KVO 监控改动 将 KVO 代码迁移到 Combine 总结   前言   KVO([Key-Value Observing](Using Key-Value Observing in Swift)) 是苹果开发者常用的功能,很多框架都会使用 KVO 来发送异步改动.将基于回调和闭包的 KVO 代码迁移到 Combine,可以使…
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中执行异步代码. 内容概览 前言 用 Future 取代回调闭包 用输出类型(Output Types)代表 Future 的参数 用 Subject 取代重复执行的闭包 总结 前言 你的应用可能会使用一些常见的模式来处理异步事件,比如: 完成处理器(Completion handlers).它其实是调用方提供的一个闭包,当一个耗时任务完成后,这个闭包会被调用一次: 闭包属性…
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 5.Combine 提供的发布者(Publishers). 内容概览 前言 Just Future Deferred Empty Publishers.Sequence Fail Record Share Multicast ObservableObject @Published 总结 前言 正所谓,工欲善其事,必先利其器.在开始使用 Combine 进行响应式编程之前,建议您先了解 Combine…
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 5.Combine 中的 Subjects. 内容概览 前言 PassthroughSubject CurrentValueSubject Subject 作为订阅者 常见用法 总结 前言 正所谓,工欲善其事,必先利其器.在开始使用 Combine 进行响应式编程之前,建议您先了解 Combine 为您提供的各种发布者(Publishers).操作符(Operators).订阅者(Subscribe…
本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 5.Combine 常用操作符. 内容概览 前言 print breakpoint handleEvents map flatMap eraseToAnyPublisher merge combineLatest zip setFailureType switchToLatest 总结 前言 正所谓,工欲善其事,必先利其器.在开始使用 Combine 进行响应式编程之前,建议您先了解 Combine…