【发布时间】:2018-08-29 20:14:53
【问题描述】:
我有用于输入搜索字符串的 UITextField 和带有结果的 UITableView。 我想要的是当用户输入超过 3 个字母并且自最后一个符号添加到 UITextView 以来至少经过 0.5 秒时运行搜索功能。
我找到了 (Detect when user stopped / paused typing in Swift) 函数,并将它添加到我的 ViewController 中,它具有类 SearchVC 和方法 server_search
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
NSObject.cancelPreviousPerformRequests(
withTarget: self,
selector: #selector(SearchVC.server_search),
object: textField)
self.perform(
#selector(SearchVC.server_search),
with: textField,
afterDelay: 0.5)
return true
}
但是什么也没发生。
【问题讨论】:
-
你为什么不使用计时器?