Syntax 什么';这是“什么?”;cdl";您是否使用令牌匹配[cdl]?
我在第31分钟遇到了TOKENMATCHES,当时我很好奇,所以我在谷歌上搜索了一下,但除了它之外,我几乎找不到什么 事实上,更让人困惑的是,这篇文章使用了与WWDC视频不同的语法:Syntax 什么';这是“什么?”;cdl";您是否使用令牌匹配[cdl]?,syntax,nspredicate,Syntax,Nspredicate,我在第31分钟遇到了TOKENMATCHES,当时我很好奇,所以我在谷歌上搜索了一下,但除了它之外,我几乎找不到什么 事实上,更让人困惑的是,这篇文章使用了与WWDC视频不同的语法: NSPredicate(format: "allTokens TOKENMATCHES[cdl] %@", "bob smith") 据我所知,这些查询返回在一个或多个文本字段中包含所有标记化字符串参数的任何记录。后一种情况将获取一条记录,例如,person.name=“bob”和person.last=“smi
NSPredicate(format: "allTokens TOKENMATCHES[cdl] %@", "bob smith")
据我所知,这些查询返回在一个或多个文本字段中包含所有标记化字符串参数的任何记录。后一种情况将获取一条记录,例如,person.name=“bob”
和person.last=“smith”
,以及一条记录,其中person.note=“bob喜欢Joseph smith。”
。(欢迎指正。)
综上所述,这个问题不是关于完整谓词,而是关于cdl
(或cdl
?)参数/修饰符/whateverthehellitis
TL;DR什么是cdl
意思,还有其他值可以放入格式字符串的“槽”中吗?
为什么不全面?这就好像苹果的管理者们害怕神秘的、古老的、不可预测的力量;没有人敢指定必要的技术作者和工程师来让我们其他人可以访问这个简单的类™. 谷歌搜索的结果只有8条,其中没有一条在apple.com上 至少找到了 文件: 所以基本上:
[c]
:大写与小写相同(即:A==A)[d]
:带有(尖锐重音、塞迪利亚等)的字符与不带重音的字符相同(即a==a(重音)[l]
:这是针对本地化的特殊性。苹果的示例中使用了“straße”和“strasse”,使用了德语的“double s”()作为示例。[c]不区分大小写:小写和大写值被视为相同的,不区分重音:特殊字符被视为基本字符。
。苹果文档中这样告诉:默认情况下,字符串比较区分大小写和变音符号。您可以使用方括号中的关键字符c和d修改运算符,以分别指定大小写和变音符号不区分,例如firstName begins with[cd]$FIRST\u NAME。“对于l
,我不知道。您可以将它们与CONTAINS
一起使用:CONTAINS[cd]
和其他。啊,当然,这是有道理的。如果你想知道要点,请随意转载作为答案。否则……谢谢!我仍然想知道l
是什么意思。当我发现后,我认为答案可能是完整的。在那之前,我会不断地寻找答案。一年多后,偶然读到这篇评论ansdiacriticinsensitivepredicteoption
问题。
NSPredicate(format: "allTokens TOKENMATCHES[cdl] %@", "bob smith")
typedef enum NSComparisonPredicateOptions : NSUInteger {
NSCaseInsensitivePredicateOption = 0x01, //==> [c]
NSDiacriticInsensitivePredicateOption = 0x02, //==> [d]
NSNormalizedPredicateOption = 0x04 //==> [n]
} NSComparisonPredicateOptions;
+ NSLocaleSensitivePredicateOption //==> [l]