2
我UISearchDisplayController
执行异步搜索经由NSOperationQueue
延迟。通过5S在UISearchDisplayController
但是,结果表不会直观地更新,直到NSOperation
调用[searchDisplayController.searchResultsTableView reloadData]
后约5秒。
- (BOOL) searchDisplayController:(UISearchDisplayController*)controller shouldReloadTableForSearchString:(NSString*)searchString
{
[searchQueue cancelAllOperations];
NSInvocationOperation *op = [[[CustomSearchOperation alloc] initWithController:controller searchTerm:searchString] autorelease];
[searchQueue addOperation:op];
return NO;
}
我CustomerSearchOperation更新的tableView像这样:
- (void) main
{
// perform search
[searchDisplayController setContents:results];
[searchDisplayController.searchResultsTableView reloadData];
}