UMap_y_bin
我在任何地方都找不到任何示例,documentation很平淡...免费的Using Combine书也没有什么有趣的。
答案 0 :(得分:1)
在Xcode 11.3中,补全效果不是很好,但是格式不太复杂。 TimeGroupingStrategy枚举中发布了两个选项(从iOS 13.3开始):
byTime
byTimeOrCount
指定任何一种策略时,还需要指定运行它的调度程序,这是那些枚举情况的参数之一。
例如,要使用DispatchQueue按时间间隔1.0秒进行收集,可以使用:
let q = DispatchQueue(label: self.debugDescription)
let cancellable = publisher
.collect(.byTime(q, 1.0))
byTime
版本将在上游发布者提供的缓冲值中指定的时间间隔内使用无限制的内存量。
byTimeOrCount
带有一个附加的count
参数,该参数对在将缓冲的集合发送给订户之前收集的项目数设置了上限。
例如,同一代码的最大缓冲区大小为10:
let q = DispatchQueue(label: self.debugDescription)
let cancellable = publisher
.collect(.byTimeOrCount(q, 1.0, 10))
您可以在Using Combine项目中看到正在使用的代码的更多特定示例,以及用于验证其运行方式的单元测试: