Я использую панель поиска, и всякий раз, когда я ввожу текст в панель поиска, она должна взять эту строку, и она сформирует строку запроса и выдаст результат. чтобы отобразить названия городов, начинающиеся с c, и после этого, когда «c» все еще присутствует в строке поиска, я нажимаю «h», поэтому теперь строка «ch», поэтому с помощью веб-службы я ищу названия городов, которые начинаются с «ch» «Я использую веб-сервис JSON, и ответ заполняется в табличном представлении
Моя проблема в том, что когда я медленно нажимаю клавиши, поиск выполняется правильно, но когда клавиши нажимаются быстро, то есть когда я нажимаю «c», а затем быстро нажимаю «h». Доступ к веб-сервису осуществляется по «ch» 'then' c '.. Это заставляет печатать города, начинающиеся с c вместо CH ..
Я вызываю веб-сервис при каждом нажатии клавиши следующим образом:
оператор для вызова веб-службы внутри
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchString {
....
...
[NSThread detachNewThreadSelector: @selector(callService) toTarget:self withObject:nil];
}
and inside the callService method.....
- (void)callService{
NSAutoreleasePool *pool = [ [ NSAutoreleasePool alloc ] init ];
[self performSelectorOnMainThread:@selector(initializeRequest) withObject:nil waitUntilDone:NO];
[pool release];
}
- (void)initializeRequest {
....Here i form the request string...
create connection and after creating connection i use NSURLConnectionDelegate Methods to parse the connection
}
Есть ли способ беспрепятственного поиска на лету.
Пожалуйста, любое тело предложит мне любую другую альтернативу или подход для выполнения такого поиска на лету, когда текст будет изменен в строке поиска. Спасибо вам всем и каждому