【发布时间】:2017-11-24 04:12:19
【问题描述】:
我想从 anyCollection 创建一个 Observable,它会在延迟后一个一个地发出每个元素。另外,onNext 我想对项目(模型)进行一些更新。
例如:
// 以 5 秒的间隔,一只一只地喂所有的狗。
class Dog {
var name: String?
var age: Int?
var feeded = false
init(_ name: String, _ age: Int){
self.name = name
self.age = age
}
}
func feedDogs(){
let dog1 = Dog("Ren", 3)
let dog2 = Dog("Bega", 7)
let dog3 = Dog("Xuxu", 11)
let delay = 6 // seconds
let allDogs = [dog1, dog2, dog3]
// Observable....
// Expected results after subscribe
// Start - > 0 seconds
// dog1.feeded // true
// time lapse -> 6 seconds
// dog2. feeded // true
// timelapse -> 12 seconds
// dog3.feeded // true
}
我尝试使用“zipWith”之类的“zip”(在 RxJava 中),但似乎在 RxSwift 中不受支持。
【问题讨论】:
-
.zip() 绝对是要走的路,它有什么问题? Observable.zip(Observable.from(allDogs), timer) { /* ... */ }