Combine入门

本文涉及最基础的Combine部分,语言通俗简练,示例简单易懂

写在前面⚠️:大部分翻译自https://medium.com/ios-os-x-development/learn-master-%EF%B8%8F-the-basics-of-combine-in-5-minutes-639421268219

我添加了一些细枝末节的东西更便于读者理解

1. Publishers

首先:Combine框架中只有Publishers(发布者)或者operates(运算符,加工厂),或者subscribes(订阅者)。

流程总是:Publishers发布某个事件,operates对其进行加工,最后由订阅者处理(使用或丢弃)

let helloPublisher = "Hello Combine".publisher()
let fibonacciPublisher = [0,1,1,2,3,5].publisher()
let dictPublisher = [1:"Hello",2:"World"].publisher()

使用下面这个函数对某个Publishers进行订阅:

sink(receiveValue: (value -> Void))

那个闭包(block)就会收到订阅的事件和值

let fibonacciPublisher = [0,1,1,2,3,5].publisher()
_ = fibonacciPublisher.sink {
    value in
    print(value)//闭包捕获的value就是发布者发布的value
}

OUTPUT: 
0 1 1 2 3 5

除了发布普通值之外,Publishers还会发布一种特殊的值Subscribers.Completion用来表示发布事件的结束(“完成”和“错误”,它们都表示结束)在这里插入图片描述

case finished//完成
case<
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值