我在Introducing CloudKit的第31分钟遇到TOKENMATCHES,感到很好奇,所以我进行了一次Google搜索,发现在another StackOverflow post以外的地方很少。NSPredicate(format: "ALL tokenize(%@, 'Cdl') IN allTokens", "after session")实际上,令事情更加混乱的是,该帖子使用了与WWDC视频不同的语法:NSPredicate(format: "allTokens TOKENMATCHES[cdl] %@", "bob smith")据我了解,这些查询将返回在一个或多个文本字段中具有所有标记化字符串参数的所有记录。后一种情况将获取带有person.name = "bob"和person.last = "smith"的记录,以及带有person.note = "Bob likes Joseph Smith."的记录。 (欢迎更正。)综上所述,这个问题不是关于完整谓词,而是关于cdl(或Cdl?)参数/修饰符/任何地狱性疾病。TL; DR-cdl是什么意思,格式字符串的“插槽”中还有其他值可以输入吗?为什么predicate syntax documentation不全面?就像苹果公司的经理们害怕NSPredicate神秘而古老的力量一样。没有人愿意分配所需的技术作家和工程师来使其余的US™可以访问这个本来很简单的课程。 Google对"nspredicate TOKENMATCHES"的搜索仅给出8条结果,apple.com上都没有。 😠 最佳答案 找到了,至少!doc:NSComparisonPredicateOptionstypedef enum NSComparisonPredicateOptions : NSUInteger { NSCaseInsensitivePredicateOption = 0x01, //==> [c] NSDiacriticInsensitivePredicateOption = 0x02, //==> [d] NSNormalizedPredicateOption = 0x04 //==> [n]} NSComparisonPredicateOptions;+ NSLocaleSensitivePredicateOption //==> [l]所以基本上:[c]:大写字母与小写字母相同(即:A == a)[d]:带有diacritics的字符(急性重音,小调等)与没有它的char相同(即à== a(重音)[l]:用于本地化的特定性。苹果样本的示例为“straße”和“ strasse”,并以德语的“ double s”(Eszett)为例。关于syntax - TOKENMATCHES [cdl]中的“cdl”是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36961555/
10-12 19:16