我从编译器中获取一条神秘的消息,并试图对其进行调试,因为此代码可在队友的一台计算机上运行。我们是否使用不同版本的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>)'
答案 0 :(得分:2)
似乎您使用的是 RxSwift 的过时版本。该代码是正确的,它可以在我的计算机上使用 RxSwift 4.2.0 使用。
请更新至 RxSwift 4.2.0 ,因为它包含此PR,其中Rx团队为bind(to:)
和{{1}添加了PublishRelay
方法}。
答案 1 :(得分:1)
使用tapStartButtonRelay.asObserver()
。
最好是完全避开主体并直接绑定到按钮影响的事物。