我想使用NSPredicate在Core Data中的字符串属性中搜索搜索词。字符串属性可以是一个单词,也可以是多个单词,例如Ulysses
或The Red Badge of Courage
。
我可以按以下方式使用contains
:
NSPredicate *pred= [NSPredicate predicateWithFormat:@"title contains[cd] %@",str];
但是,为了防止与搜索词rage
匹配,例如,针对The Red Badge Of Courage
,从单词开头查找匹配项会更安全。
有没有一种修改开始的方法,因此您可以将其应用于字符串中的任何单词,而不仅仅是整个字符串,即:
的某些变体NSPredicate *pred = [NSPredicate predicateWithFormat:@"title beginswith[cd] %@", str];
您还可以使用以下方法搜索属性值是否与搜索词中的任何单词匹配:
NSPredicate *pred = [NSPredicate predicateWithFormat: @"SELF IN %@", str]
基本上,我想做相反的事情,检查搜索字符串是否匹配核心数据中属性中的任何单词。
感谢任何建议