要素の配列と秒[1, 2, 3]
の遅延があるとしましょう。5
現在の要素と次の要素の間に一時停止して、配列の各要素を放出したいと考えています。
例:
出力:
[00:00] -- 1
[00:05] -- 2
[00:10] -- 3
私は次のことを試みました:
import ReactiveSwift
let startTime = DispatchTime.now().uptimeNanoseconds
let arrayProperty = MutableProperty<[Int]>([1, 2, 3])
let arraySignal = arrayProperty.signal
arraySignal
.flatMap { $0 }
.delay(2, on: QueueScheduler.main)
.observeValues { element in
let elapsed = DispatchTime.now().uptimeNanoseconds
print("\((elapsed - startTime) / 1_000_000_000) -- \(element)")
}
ただし、最初の要素の放出を遅らせるだけで、次の要素をすぐに放出します。
使用する適切なオペレーター ミックスが見つかりませんでした。ReactiveSwift フレームワークにない可能性があります。私はリアクティブ プログラミングの初心者なので、独自のオペレーターを実装するのはまだ難しすぎます。