UISearchBar textDidChange用于远程调用的延迟

1 iphone uisearchbar

我试图确定如何UISearchBar延迟呼叫,textDidChange直到几毫秒过去.我的目标是将多个键盘条目聚合到一个远程Web服务调用中.正如我现在所知,我每次按键都会调用服务器,这太过分了.

如果在其中一个UISearchBar委托方法中没有某种方式...是否有其他方法可以实现相同的目标...即只是在用户暂停输入密钥之前不要调用服务器?

我一直在使用这个委托方法:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
Run Code Online (Sandbox Code Playgroud)

Fel*_*zin 5

是的,您可以使用NSTimer.

做这个:

  1. 创建一个调用远程Web服务调用的NSTimer,并在用户开始键入时运行它.
  2. 每次用户输入密钥时,计时器都会重置并重新启动.
  3. 如果用户停止输入,NSTimer将触发您的Web服务调用.