У меня есть экран с UITableView и панель поиска.Этот поиск выполняется в базе данных, он также должен смотреть на другую связанную таблицу, как и некоторые внутренние объединения .
. Проблема в том, что при быстром наборе возникает задержка, потому что когдаЯ заканчиваю набирать слово и вижу, что UITableView обновляется медленной буквой за буквой, пока не завершится поиск по всему слову.
Вот фрагмент кода:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
self.queue = [[NSOperationQueue new] autorelease];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(makeSearch:) object:searchText];
[self.queue addOperation:operation];
[operation release];
}
- (void)makeSearch:(NSString *)_string {
[self.displayItems removeAllObjects];
Users *usr = [[[Users alloc] init] autorelease];
self.displayItems = [[[NSMutableArray alloc] initWithArray:[usr getUsersLike:_string]] autorelease];
[self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
}
(переменная displayItems
используется для заполнения UITableView .)