UISearchBar textDidChange用于远程调用的延迟

时间:2010-03-16 21:15:55

标签: iphone uisearchbar

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

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

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

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 

1 个答案:

答案 0 :(得分:5)

是的,您可以使用NSTimer。

这样做:

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