深入探索NSPredicate与Objective - C语言转换
1. NSPredicate基础与高级用法
NSPredicate在Objective - C编程中是一个强大的工具,用于过滤对象。在使用谓词字符串时,有一些细节需要注意。
1.1 大小写与重音符号敏感性
当编写谓词字符串时,如 “name BEGINSWITH ‘HERB’“,它不会匹配 “Herbie”,因为默认情况下匹配是区分大小写的。同样,”name BEGINSWITH ‘Hérb’” 也不会匹配,因为 “e” 有重音符号。为了放宽匹配规则,可以使用 [c]、[d] 或 [cd] 来修饰操作符。其中,c 表示不区分大小写,d 表示不区分重音符号,[cd] 则表示两者都不区分。通常,除非有特殊原因需要区分大小写和重音符号,否则建议使用 [cd]。例如,谓词字符串 “name BEGINSWITH[cd] ‘HERB’” 可以匹配 Herbie。
1.2 LIKE操作符
有时候,仅在字符串的开头、结尾或中间进行匹配可能不够强大。这时可以使用 LIKE 操作符。在 LIKE 操作符中,问号(?)匹配一个字符,星号( )匹配任意数量的字符。这与 SQL 和 Unix shell 中的 “通配” 行为类似。
- 谓词字符串 “name LIKE ‘ er ’” 可以匹配任何中间包含 “er” 的名称,这等同于 CONTAINS 操作。
- 谓词字符串 “name LIKE ‘???er ’” 可以匹配 “Paper Car”,因为它有三个字符、一个 “er” 以及 “er” 后面的任意数量的字符,但它不
超级会员免费看
订阅专栏 解锁全文
119

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



