作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 RxCocoa,我有这样的代码,
func debug(){
isUserInteractionEnabled = true
let tap = UITapGestureRecognizer()
tap.numberOfTapsRequired = 2
addGestureRecognizer(tap)
tap.rx.event.bind { (event) in
if self.phone.text == Phone.one{
self.phone.text = Phone.two
}
else{
self.phone.text = Phone.one
}
self.verification.text = ""
}.disposed(by: rx.disposeBag)
}
我想做一些封装,把上面的改成这样:
func debug( _ event: (UITapGestureRecognizer) -> Void){
isUserInteractionEnabled = true
let tap = UITapGestureRecognizer()
tap.numberOfTapsRequired = 2
addGestureRecognizer(tap)
tap.rx.event.bind(to: event).disposed(by: rx.disposeBag)
}
Xcode 报告:
Cannot invoke 'bind' with an argument list of type '(to: (UITapGestureRecognizer) -> Void)'
我试试
func debug( _ event: @escaping (UITapGestureRecognizer) -> Void){
Xcode 报告:
Cannot invoke 'bind' with an argument list of type '(to: @escaping (UITapGestureRecognizer) -> Void)'
重要的是什么? Rx 命名空间?
当我在前者输入event
时,Xcode提示event
是UITapGestureRecognizer
最佳答案
我认为bind(onNext: @escaping (E) -> Void)
是你要找的,而不是bind<O: ObserverType>(to observer: O)
.
比较实现:
public func bind<O: ObserverType>(to observer: O) -> Disposable where O.E == E {
return self.subscribe(observer)
}
public func bind(onNext: @escaping (E) -> Void) -> Disposable {
return subscribe(onNext: onNext, onError: { error in
rxFatalErrorInDebug("Binding error: \(error)")
})
}
关于swift - RxCocoa : Cannot invoke 'bind' with an argument list of type '(to: (UITapGestureRecognizer) -> Void)' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58643150/
我是一名优秀的程序员,十分优秀!