我只想使用用户输入的关键字过滤自定义对象的NSMutableArray。示例:当用户输入“ a”字母时,我要输出所有displayName包含字母“ a”的对象。为此,我做到了:
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"display_name CONTAINS[cd] %@", textField.text];
NSArray *filtered = [[self.contacts allValues] filteredArrayUsingPredicate:predicate];
问题是我必须输入整个display_name才能得到结果,而不仅仅是字母。示例:如果存在“亚伯拉罕”,“亚历山大”,“詹姆斯”,而您轻按“ j”,则我要输出其属性名称为“詹姆斯”的对象,而不必输入整个“詹姆斯” ”一句话得到它。我的谓词肯定存在问题,谢谢您的帮助。
诀窍是使用通配符。*在参数中标记。IE:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"display_name LIKE[cd] %@", [NSString stringWithFormat:@"*%@*", textField.text]];
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句