当我尝试编辑文本时,searchBar.rx.textDidBeginEditing 不起作用
Posted
技术标签:
【中文标题】当我尝试编辑文本时,searchBar.rx.textDidBeginEditing 不起作用【英文标题】:searchBar.rx.textDidBeginEditing does not working when im trying to edit text 【发布时间】:2018-11-17 15:13:10 【问题描述】: searchBar.rx.textDidBeginEditing
.subscribe [unowned self] in
print("im begining diting")
self.searchBar.setShowsCancelButton(true, animated: true)
.disposed(by: disposeBag)
它不起作用,也许我有错误的方法?但我有方法
searchBar.rx.text
.asObservable()
.bind(to: directoryViewModel.searchTextObservable)
.disposed(by: disposeBag)
正常工作
【问题讨论】:
您没有显示足够的代码来重现问题。如果我将这两个代码块放在 viewDidLoad 中,它们将完全按预期工作。 我应该展示什么?导致第二个块工作正常,但第一个不想调用。 您是否从控制台收到任何运行时警告?您是否为 searchBar 分配了一个代表?您展示了一个显示问题的最小 可编译 示例。编写一个小项目,尽可能少地编写仍然存在您所遇到问题的代码。 我没有收到任何运行时警告,也没有我没有分配给委托。我写了一个小项目但同样的问题,可能我只是不知道如何使用这个 我很想看看这个项目。也许我可以弄清楚发生了什么。 【参考方案1】:我忘了穿下一个:
searchBar.rx.textDidBeginEditing
.subscribe(onNext: [unowned self] in
self.searchBar.setShowsCancelButton(true, animated: true)
).disposed(by: disposeBag)
【讨论】:
这不是它失败的原因。还有其他问题。 为什么不呢?它现在工作正常,只需设置 asObservable() 和 subscribe(onNext:) 因为如果asObservable()
是必要的,那么没有它,代码甚至不会编译。以上是关于当我尝试编辑文本时,searchBar.rx.textDidBeginEditing 不起作用的主要内容,如果未能解决你的问题,请参考以下文章