我正在创建一个应用程序,其中我正在使用一个包含大量单词的字典。现在我正在创建一个搜索栏,这将用于输入我将在字典中查找的单词。实际上这计划是用下面的代码完成的,但现在我想要的是每当我写一个句子说“爸爸喝果汁”然后列表应该显示我所有的排列和组合,我的意思是它必须单独显示所有三个单词,然后它必须显示包含我输入的任何单词的句子: - 她饮用水,石灰汁,妈妈和爸爸以及其他单独或组合包含这些单词的句子。
- (void) searchTableView {
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in listOfItems)
{
NSArray *array = [dictionary objectForKey:@"Words"];
[searchArray addObjectsFromArray:array];
}
for (NSString *sTemp in searchArray)
{
NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (titleResultsRange.length > 0)
[copyListOfItems addObject:sTemp];
}
[searchArray release];
searchArray = nil;
}
答案 0 :(得分:0)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"( %K contains[cd] %@ ) OR ( %K contains[cd] %@ ),yourfirstKey,searchText];
NSArray * filteredArray = [searchArray filteredArrayUsingPredicate:predicate];
希望这有帮助