用到過(guò)的方法總結(jié)一下,以免遺忘。
拿到數(shù)據(jù)源之后,篩選所需的數(shù)據(jù)。數(shù)據(jù)源的getFriendsArray為模型數(shù)組
/**
* 搜索
*
* @param searchText searchText description
*/
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope {
NSPredicate *resultPredicate = [NSPredicate predicateWithFormat:@"SELF contains[cd] %@", searchText];
self.searchResultArray = (NSMutableArray *)[[self.getFriendsAPIManager.getFriendsArray valueForKey:@"nickname"] filteredArrayUsingPredicate:resultPredicate];
NSLog(@"%@",self.searchResultArray);
}
在UISearchDisplayController代理里面進(jìn)行操作
#pragma mark - UISearchDisplayController delegate methods
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString {
[self filterContentForSearchText:searchString scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]];
return YES;
}
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption {
[self filterContentForSearchText:[self.searchDisplayController.searchBar text] scope:[[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:searchOption]];
return YES;
}