我有一个对象数组。
对象主体是一个句子,我想用这个句子的单词过滤我的UITableView
。
例如,我必须对象:
Id:1; 身体:"你好亲爱的朋友&#34 ;;
Id:2; 身体:"佛罗多,给我戒指!";
如果我开始进入" Fr" UISearchControler
必须返回两个对象,因为它们都包含以" Fr"开头的单词。 ("佛罗多,朋友")。然后,如果我进入" Fro"它将返回第二个对象。
现在,我将消息拆分为单词数组,并使用
过滤它们@"self.body contains[c]%@", searchString
谓词。
我如何组合contains和beginwith谓词?
答案 0 :(得分:1)
您可以在 SearchBar代理方法
中编写此代码- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains%@",searchTxt.uppercaseString];
NSArray* FilteredArr = [objTableData filteredArrayUsingPredicate:predicate];
}
还要注意案例(小写和大写)
答案 1 :(得分:0)
下面的代码示例:
NSArray* words = [body componentsSeparatedByString:@" "];
NSArray* seacrhedWords = [words filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self BEGINSWITH[c] %@", seacrhText]];