특정 조건에 따라서 옵저버블 생성
let disposeBag = DisposeBag()
let animals = ["🐶", "🙊", "🐷", "🐯", "🐥", "🐻", "🦊"]
let fruits = ["🍎", "🍐", "🍋", "🍇", "🍈", "🍓", "🍑"]
var flag = true
// deferred
// 특정 조건에 따라 옵저버블 생성
let factory: Observable<String> = Observable.deferred {
flag.toggle()
if flag {
return Observable.from(animals)
} else {
return Observable.from(fruits)
}
}
factory
.subscribe { print($0) }
.disposed(by: disposeBag)
factory
.subscribe { print($0) }
.disposed(by: disposeBag)
특정 조건에 따라서 다른 Observable을 방출하도록 할 수 있다.