RxSwift Error: Property 'text' requires that 'UITextField' inherit from 'UILabel'

RxSwift Error: Property 'text' requires that 'UITextField' inherit from 'UILabel'

func bindSearchTextField() {
        searchTextField.rx.text.asObservable().skip(3)
            .debounce(0.3, scheduler: MainScheduler.instance)
            .subscribe(onNext: { [weak self] searchText in
                guard let strongSelf = self else {
                    return
                }
                if let text = searchText {
                    if text == "" {
                        self?.hideLoader()
                        self?.clearButton.isHidden = true
                    } else {
                        self?.clearButton.isHidden = false
                    }
                    strongSelf.presenter?.getAreaCodeList(text: text)
                }
            }).disposed(by: disposeBag)
    }

我将 RxSwift 更新到最新版本(从 4.4.0 到 5.1.1)后出现此错误。 有人可以帮我吗?

改用:.debounce(.milliseconds(300), scheduler: MainScheduler.instance)debounce(_:scheduler:) 已经删除了 Double。

此外,您在订阅方面做得太多了。如果您将订阅分成独立的单元,您会过得更好:

let searchText = searchTextField.rx.text.asObservable().skip(3)
    .debounce(.milliseconds(300), scheduler: MainScheduler.instance)
    .compactMap { [=10=] }

searchText
    .map { [=10=].isEmpty }
    .bind(to: clearButton.rx.isHidden)
    .disposed(by: disposeBag)

searchText
    .bind { [presenter] in
        presenter?.getAreaCodeList(text: [=10=])
    }
    .disposed(by: disposeBag)