UISearchBar определяет, когда пользователь останавливает ввод, и не выполняет поиск немедленно, поэтому обнаруживает паузу

я поиск реализует UISearchbar, который извлекает информацию из URL-адреса, и с помощью метода по умолчанию:

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

я могу сразу определить, когда текст изменяется, и выполнить выборку URL-адреса, но таким образом тип текста медленный, потому что iPhone выполняет поиск URL-адрес, поэтому я хочу начать выборку URL-адреса, когда пользователь перестанет писать на какую-то секунду, поэтому я хочу обнаружить паузу при наборе текста, чтобы обновить представление таблицы, получая информацию по URL-адресу. я нашел более старую запись этого запроса, и я попробовал решение, которое для меня не работает:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(request:)     object:searchText];

    //.....

    [self performSelector:@selector(request:) withObject:searchText afterDelay:1.5];
}

-(void)request:(NSString *)myString
{
    NSLog(@"%@",myString);
}

таким образом, когда я печатаю, метод запроса не вызывается, но когда я перестаю печатать, он вызывается для каждого символа я печатаю, то же самое, что и метод по умолчанию, я что-то не так? или реализация не правильная?

17
задан jonkroll 10 March 2012 в 01:29
поделиться