iOS8.0 之后对于弃用UISearchDisplayController推荐使用 UISearchController.
相对于UISearchDisplayController,UISearchController的使用更加的简单明了。
重点在于对其结果Controller的设置:
SearchResult =[[self storyboard]instantiateViewControllerWithIdentifier:@"SearchResult"];
SearchController=[[UISearchController alloc]initWithSearchResultsController:SearchResult];
搜索:
- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
NSString *searchString=SearchController.searchBar.text;
[self updateFilteredContentForAirlineName:searchString];
if (searchController.searchResultsController)
{
[SearchResult.ResultTableview reloadData];
}
}
- (void)updateFilteredContentForAirlineName:(NSString *)airlineName
{
if (airlineName == nil) {
// If empty the search results are the same as the original data
SearchResult.SearchResultArray = [array mutableCopy];
} else {
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@", airlineName];
SearchResult.SearchResultArray = [array filteredArrayUsingPredicate:resultPredicate];
}
}