1秒ごとに文字列を放出する観測可能性を与えられれば、これらの要素を収集し、毎秒フルリスト。各秒を放出する観測可能な(A)を、1秒ごとに要素のリストを放出する観測値に変換する方法
func oneAtATime() -> Observable<String> {
return Observable.create{ observable in
DispatchQueue.global().async {
let main = DispatchQueue.main
for i in 0..<10 {
sleep(1)
main.async{
observable.onNext("Element\(i)")
}
}
main.async{
observable.onCompleted()
}
}
return Disposables.create()
}
}
これは私が現時点で持っているものです:
+は、配列の要素を挿入する機能ですlet oneEverySecond = oneAtATime()
var accEverySecond : Observable<[String]> = oneEverySecond.reduce([],accumulator: +)
。
問題は、完成した後にのみ、要素の完全なリストが表示されていることです。私は毎秒新しいリストを受け取っていません。