当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Optional.Publisher collect(_:)用法及代码示例


实例方法

collect(_:)

收集最多指定数量的元素,然后发出集合的单个数组。

声明

func collect(_ count: Int) -> Publishers.CollectByCount<Self>

返回值

一个发布者,最多收集指定数量的元素,然后将它们作为数组发布。

参数

count

发布前要缓冲的最大接收元素数。

详述

使用 Publisher/collect(_:) 从上游发布者发出最多包含 count 元素的数组。如果上游发布者在收集指定数量的元素之前完成,则发布者发送一个仅包含它接收到的项目的数组。这可能少于count 元素。

如果上游发布者因错误而失败,则此发布者将错误转发给下游接收者,而不是发送其输出。

在下面的示例中,Publisher/collect(_:) 运算符根据请求的集合大小 5 发出一个部分数组和两个完整数组:


let numbers = (0...10)
cancellable = numbers.publisher
    .collect(5)
    .sink { print("\($0), terminator: " "") }


// Prints "[0, 1, 2, 3, 4] [5, 6, 7, 8, 9] [10] "

可用版本

iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional.Publisher collect(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。