我正在使用 ReactiveCocoa 4 实现搜索文本字段,并且只想在 X 时间内没有输入文本后才点击搜索 API。我以前通过取消先前计划并在 textDidChange 委托方法中触发“executeSearch”选择器来完成此操作。这确保了每次我键入时,任何以前安排的“executeSearch”选择器都会被取消,并安排一个新的选择器在 X 秒内触发。
我现在想做同样的行为,但是来自绑定到我的输入文本的信号生成器。我当前的实现很接近,但不一样。此行为仅将文本输入事件限制为仅每 0.5 秒触发一次,而不是取消前一个事件。
searchTextInput.producer.delay(0.3, onScheduler: RACScheduler.currentScheduler())
.throttle(0.5, onScheduler: RACScheduler.currentScheduler())
.producer.startWithNext({ [unowned self] searchText in
self.executeSearch(searchText)
})
我很难筛选 ReactiveCocoa 4 文档以了解我应该使用哪些信号函数!谢谢!