Combine

首先Combine是apple的一个framework
通过联合 event-processing operators 来客制化异步事件的处理

Combine 提供一种宣言式的Swift Api来处理伴随时间变化的值,这些值能代表许多种类的异步事件。Combine 声明 publishers 去暴露那些随着时间改变的值,subscribers去接收这些从publishers发布的值

  • publisher 协议声明了一种能传递一系列随着时间变化的值的类型,publisher让这些操作根据从上游publisher那里获得的值来采取行动,然后再重新发布它们。
  • publisher链的末尾,订阅者在接受元素时对其进行操作。仅当订阅者明确要求时,publisher才会发布值。这样一来,您的订阅者代码就可以控制从与其连接的publisher那里接收事件的速度。

多个基础类型通过publisher公开其功能,包括Timer NotificationCenterURLSessionCombine还为符合键值观察的任何属性提供内置publisher

你可以合并多个publisher的输出,并协调他们的交互。例如,你可以订阅text field的发布者的更新,然后使用text来执行URL请求。然后,你可以使用其他publisher来处理响应,并使用他们来更新您的应用。

通过采用Combine,您可以通过集中事件处理代码并消除麻烦的技术(像嵌套闭包和基于约定的回调)来使代码更易于阅读和维护。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容