My UISearchDisplayController
выполняет асинхронный поиск с помощью NSOperationQueue
.
Однако таблица результатов не обновляется визуально до примерно 5 секунд после NSOperation
вызовов [searchDisplayController.searchResultsTableView reloadData]
.
- (BOOL) searchDisplayController:(UISearchDisplayController*)controller shouldReloadTableForSearchString:(NSString*)searchString
{
[searchQueue cancelAllOperations];
NSInvocationOperation *op = [[[CustomSearchOperation alloc] initWithController:controller searchTerm:searchString] autorelease];
[searchQueue addOperation:op];
return NO;
}
My CustomerSearchOperation обновляет tableView следующим образом:
- (void) main
{
// perform search
[searchDisplayController setContents:results];
[searchDisplayController.searchResultsTableView reloadData];
}