Как можно combineLatest
использовать для возврата BehaviorSubject
?Я пытаюсь получить последнее значение из наблюдаемого.
var things: Observable<Thing>
// driven by UI
var selectedThingIndex: PublishSubject<Int>
// this is a BehaviorSubject, because I need to get the latest value outside a subscriber
var currentThing: BehaviorSubject<Thing> = BehaviorSubject.combineLatest(things, selectedThingIndex) { things, index in
things[index]
}
// Get the last value
let thing = currentThing.value()
Я не могу заставить это скомпилировать, потому что combineLatest
возвращает Observable
, который не выглядит кастабильнымдо BehaviorSubject
.Я пробовал явное приведение, например, as? BehaviorSubject<Thing?>
, но это возвращает ноль.