每次更改UITextField时,我都会使用回调函数向API发送请求,如:
keywordsField.addTarget(self, action:"keywordsChanged:", forControlEvents:.EditingChanged);
func keywordsChanged(sender: UITextField) {
self.foundCountNumLabel.hidden = true
self.foundCountLabel.hidden = true
let keywords: String = sender.text!
let urlKw = keywords.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())!
self.apiUri = "&keywords=" + urlKw
self.getData() // this function send request to API
}
问题是app发送请求甚至用户只输入了一个符号。
所以,我每秒都会向我的API发出很多请求。
问题是当用户停止输入时,如何在1秒后执行一个请求?