Я использую 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 report:
Невозможно вызвать 'bind' со списком аргументов типа '(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