对成员'订阅'的歧义引用Swift 3
问题描述:
我是Reactive programming的新手,我试图从我的ViewModel观察一个布尔值,以便让我的ViewController知道何时启动/停止应用程序的加载器屏幕。对成员'订阅'的歧义引用Swift 3
这很简单,我想用这种方法来避免不必要的委托,因为我的ViewModel包含业务逻辑,而我的ViewController处理UI。
我的问题是这个编译器错误:Ambiguous reference to member 'subscribe'
。
它还增加了两个可能的候选人,因为你可以在下面的图片中看到: 在我的ViewModel,我已经声明了观察为PublishSubject:
let done = PublishSubject<Bool>()
我用它,同时观察另一个流:
func subscribe() {
done.onNext(false)
anotherObservable.subscribe(
// other events observed here but not relevant to this matter
onCompleted: {
self.done.onNext(true)
}).addDisposableTo(rx_disposeBag)
}
最后,这就是我正在努力处理它在视图控制器:
self.model.done.subscribe(
.onNext { isDone in
if isDone {
self.removeLoader()
}
}).addDisposableTo(rx_disposeBag)
我相信有一些简单的我可能会失踪,所以任何帮助表示赞赏。
答
在你的第二个订阅应该是:
self.model.done.subscribe(onNext: { isDone in
if isDone {
self.removeLoader()
}
}).addDisposableTo(rx_disposeBag)
是。我正在混合语法来发出和处理事件。感谢您的回答! –