Combine
通过组合事件处理运算符来定制异步事件的处理。
核心
- 代码更易于阅读和维护
- 集中处理事件的代码并消除诸如嵌套闭包和基于约定的回调之类的麻烦技术。
使用教程
Combine框架提供了一个声明性的Swift API,用于随时间处理值。这些值可以表示多种异步事件。合并声明发布者公开随时间变化的值,订阅者从发布者那里接收这些值。
Publisher协议声明了一个可以随时间传递值序列的类型。发布者让运营商根据从上游发布者那里获得的价值采取行动,然后重新发布它们。
在发布者链的末端,订阅者在接收元素时对其进行操作。发布者仅在订阅者明确要求时才发出值。这样一来,您的订户代码就可以控制从与其连接的发布者那里接收事件的速度。
几种Foundation类型通过发布者公开其功能,包括Timer,NotificationCenter和URLSession。 Combine还为符合键值观察的任何属性提供了内置发布者。
您可以合并多个发布者的输出并协调他们的交互。例如,您可以订阅文本字段发布者的更新,然后使用文本执行URL请求。然后,您可以使用其他发布者来处理响应,并使用它们来更新您的应用。
通过采用Combine,您可以集中处理事件的代码并消除诸如嵌套闭包和基于约定的回调之类的麻烦技术,从而使代码更易于阅读和维护。
推荐
基础文章推荐
经典教程推荐
上新
技术源码推荐
推荐文章
CoreData篇
Combine篇
TextField篇
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
- 《SwiftUI实战之TextField风格自定义与formatters》
- 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
- 《SwiftUI 当键盘出现时避免TextField被遮挡自动向上移动》
- 《SwiftUI实战之TextField如何给键盘增加个返回按钮(隐藏键盘)》
JSON文件篇
一篇文章系列
- SwiftUI一篇文章全面掌握List(教程和源码)
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源码)》
- SwiftUI一篇文章全面掌握Picker,解决数据选择(教程和源码)
- SwiftUI一篇文章全面掌握Form(教程和源码)
- SwiftUI Color 颜色一篇文章全解决
技术交流
QQ:3365059189
SwiftUI技术交流QQ群:518696470
- 请关注我的专栏icloudend, SwiftUI教程与源码
https://www.jianshu.com/c/7b3e3b671970
网友评论