我需要一个发布者连续发布从 1 到 360 的值,值之间有一定的时间间隔。
我有这个发布者每秒发布一个从 1 到 360 的值,但是一旦达到 360,它就会停止,基本上(1...360).publisher
停止提供值,但是我需要发布者继续从 1 开始发布值
如果 value == 360 然后重置发布者,添加条件可能会起作用,但这将是低效的,因为将为每个单个值设置条件,有更好的解决方案的想法吗?
struct ContentView: View {
let delayedValuesPublisher = Publishers.Zip((1...360).publisher,
Timer.publish(every: 1, on: .main, in: .default)
.autoconnect())
var body: some View {
Text("")
.onReceive(delayedValuesPublisher) { (output) in
print(output.0)
}
}
}