目前尝试设置搜索会搜索一个看起来像这样的Array(bakeryProductArray)
“茶叶面包”, Tiramusu, “Treacle Loaf”, 琐事, “三重巧克力布朗尼”, 松露, “各种海绵”, “维也纳旋风”, “结婚蛋糕”
用户输入UISearchbar的内容。我不清楚如何在CFString中表示数组中的每个项目。
我目前的代码是。
-(void)filterContentForSearchText:(NSString *)searchText scope:(NSString *)scope
{
searchSearch = [NSPredicate predicateWithFormat:@"self CONTAINS[cd]",searchText];
//@"%K CONTAINS[cd] %@"
searchResults = [bakeryProductArray filteredArrayUsingPredicate:searchSearch];
NSLog(@"Filtered Food Product Count --> %d",[searchResults count]);
}
如果需要,可以回答任何问题并提供更多代码。
答案 0 :(得分:6)
这是你在找什么?
NSArray *bakeryProductArray = @[@"Tea Loaf", @"Tiramusu", @"Treacle Loaf", @"Trifle"];
NSString *searchText = @"tr";
NSPredicate *searchSearch = [NSPredicate predicateWithFormat:@"self CONTAINS[cd] %@", searchText];
NSArray *searchResults = [bakeryProductArray filteredArrayUsingPredicate:searchSearch];
NSLog(@"%@", searchResults);
// "Treacle Loaf",
// Trifle
这将查找包含给定搜索字符串的所有字符串(不区分大小写)。 或者,您可以根据需要使用“=”或“BEGINSWITH”。 (有关"Predicate Programming Guide"中谓词的更多信息。)