深入探索 NSPredicate 与不同语言过渡到 Objective-C 的要点
1. NSPredicate 的使用技巧
NSPredicate 是进行对象过滤的强大工具。在使用谓词字符串时,有一些需要注意的地方。
- 大小写和重音符号敏感性 :如果编写像 “name BEGINSWITH ‘HERB’” 这样的谓词字符串,它不会匹配 “Herbie” 或其他任何内容,因为这些匹配是区分大小写的。同样,”name BEGINSWITH ‘Hérb’” 也不会匹配,因为 “e” 有重音符号。为了放宽名称匹配的规则,可以使用 [c]、[d] 或 [cd] 来修饰这些运算符。其中,c 表示 “不区分大小写”,d 表示 “不区分重音符号”,[cd] 则表示两者都不区分。通常情况下,除非有充分的理由需要区分大小写和重音符号,否则建议使用 [cd]。例如,”name BEGINSWITH[cd] ‘HERB’” 就可以匹配 Herbie。
- LIKE 运算符 :有时候,在字符串的开头、结尾或中间进行字符串匹配的功能不够强大。这时,可以使用谓词格式字符串中的 LIKE 运算符。在这个运算符中,问号(?)匹配一个字符,星号( )匹配任意数量的字符。SQL 和 Unix shell 程序员对这种行为应该很熟悉,有时也被称为 “通配符匹配”。例如:
- “name LIKE ‘ er ’” 会匹配任何中间包含 “er” 的名称,这等同于 CONTAINS。
- “name LIKE ‘???er ’” 会匹配 “Paper Car”,因为它有三个字符、一个 “er” 以及 “
超级会员免费看
订阅专栏 解锁全文
85

被折叠的 条评论
为什么被折叠?



