我正在尝试隐藏某些符合搜索结果中某些条件的项目。
例如,我想隐藏“Sede.idTipoisede = 1”的所有结果,这是“Sede”中的一个属性
有什么建议吗?
非常感谢, 这是我的代码:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
// cancel any existing search
[_searchOperationQueue cancelAllOperations];
// begin new search
[_searchOperationQueue addOperationWithBlock:^{
//NSUInteger length = [searchText length];
if (![NSString isEmpty:searchText])
{
NSArray *filteredTemp = [self.sedi filterMatch:^BOOL(id elem)
{
Sede *sede = (Sede *)elem;
NSArray *split = [searchText componentsSeparatedByString:@" "];
return [sede.nome matchAll:split] ||
[sede.descrizione matchAll:split] ||
[sede.indirizzo matchAll:split] ||
[sede.generi matchAll:split];
}
contains:^BOOL(id elem)
{
Sede *sede = (Sede *)elem;
NSArray *split = [searchText componentsSeparatedByString:@" "];
return [sede.nome containsAll:split] ||
[sede.descrizione containsAll:split] ||
[sede.indirizzo containsAll:split] ||
[sede.generi containsAll:split];
}];
// update view on main thread
dispatch_async(dispatch_get_main_queue(), ^{
self.filteredItems = filteredTemp;
[self.searchDisplayController.searchResultsTableView reloadData];
});
}
}];
}
答案 0 :(得分:0)
UISearchDisplayController
有两个委托属性,searchResultsDelegate
和searchResultsDataSource
,与UITableView
非常相似。您应该使用它们来控制过滤的表视图内容。