iOS RXSwift4 无法使用类型为 '(to: PublishRelay<Void>)' 的参数列表调用'bind'



我从编译器收到一条神秘的消息,并正在尝试调试它,因为这段代码在队友的一台机器上工作。我们是否使用不同版本的 RXSwift?

如何将 UIButton.rx 绑定到 Void 类型的 PublishRelay ?

import SnapKit
import RxSwift
import RxCocoa

var startButton: UIButton
var tapStartButtonRelay: PublishRelay<Void>
startButton.rx.tap
.bind(to: tapStartButtonRelay)
//get Cannot invoke 'bind' with an argument list of type '(to: PublishRelay<Void>)'

问题

您似乎使用的是过时的 RxSwift版本。代码是正确的,它可以在我使用RxSwift 4.2.0的机器上运行。

溶液

请更新到RxSwift 4.2.0,因为它包含此 PR,Rx 团队在其中添加了用于PublishRelayBehaviorRelaybind(to:)方法。

使用tapStartButtonRelay.asObserver().

最好是完全避免主题并直接绑定到按钮影响的内容。

相关内容

  • 没有找到相关文章

最新更新