I would like to create an Observable from anyCollection that will emit each element one by one, after a delay. Also, onNext I would like to perform some updates to the item (model).
For example:
// Feed all dogs, one by one, with an interval of 5 seconds.
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
}
I tried to use "zip" like "zipWith" (in RxJava), but it seems that in RxSwift is not supported.