如何在输入后使用UISearchDisplayController延迟3秒进行搜索

时间:2014-04-09 06:51:45

标签: ios objective-c ios7

我需要它在停止输入3s之后进行搜索,

但是当用户键入键盘时,此func会立即运行,

- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString

如何延迟3秒运行此功能,所以当用户输入另一个字符时,我可以停止预搜索?

2 个答案:

答案 0 :(得分:2)

当用户输入第一个字符时,每次用户输入另一个字符NSTimer并重新启动计时器时,启动invalidate。当计时器触发时,执行搜索并更新UI。

答案 1 :(得分:0)

您可以使用以下方法延迟操作。

    [self performSelector:@selector(doStuff) withObject:myObj afterDelay:3.f];