我正在尝试在compactMap
上实现RxSwift
,但似乎从未执行过。
这是我的代码:
class MyClass{
var disposeBag = DisposeBag()
let subject = BehaviorRelay(value: 1)
func doSomething() {
Observable.from(optional: subject).compactMap{ $0
}.subscribe( onNext:{
print($0)
}).disposed(by: disposeBag)
subject.accept(2)
subject.accept(4)
subject.accept(5)
subject.accept(8)
}
当我更改主题的值时,compactMap永远不会被调用。
你们都知道为什么compactMap永远不会被呼叫吗?
非常感谢您的帮助。
此代码没有任何意义。您正在使用Observable<BehaviorRelay<Int>>
运算符创建一个from
,该运算符仅发出一个值(行为继电器本身),然后完成。
我认为您需要退后一步,弄清楚您要完成的任务,然后阅读操作员的文档,以找到满足您需要的方法。