-(NSPredicate *) predicateForExactMatch
{
enum typeOfAutocompleteNew toc = [[self class] typeOfAutoComplete];
NSPredicate * predictNameMatch=[NSPredicate predicateWithFormat:@"%K==[cd]%@",NSStringFromSelector(@selector(strNameofPlace)),self.strCurrentKeyword];
NSPredicate * entryTypeNameMatch=[NSPredicate predicateWithFormat:@"%K==[cd]%@",NSStringFromSelector(@selector(strEntry)),@(toc)];
NSPredicate * final = [NSCompoundPredicate andPredicateWithSubpredicates:@[predictNameMatch,entryTypeNameMatch]];
return final;
}
哪一个更好?
NSPredicate * final = [NSCompoundPredicate andPredicateWithSubpredicates:@[predictNameMatch,entryTypeNameMatch]];
或者
NSPredicate * final = [NSCompoundPredicate andPredicateWithSubpredicates:@[entryTypeNameMatch,predictNameMatch]];
在这里,predictNameMatch 肯定要严格得多。最多1-2个是完全匹配的。entryTypeNameMatch 匹配 25% 的数据。