如何创建NSPredicate以查找具有领先数值的条目?

Toa*_*tor 3 iphone core-data objective-c nspredicate

我正在使用NSPredicates来基于name属性获取实体.为字母开头创建谓词很容易(@"name BEGINSWITH%@",searchLetter),但是现在我想要获取名称以数值开头的所有实体,或者更确切地说是非字母字符.

这里适当的谓词表达是什么?

现在我不想深入了解谓词编程,因为这就是我现在所需要的,时间过得真快.那么,请不要指向谓词编程指南,我只需要那个表达式.. :)

非常感谢你们!

Dav*_*ong 5

如果MATCHES操作员不使用获取请求,那么您基本上必须手动执行操作:

NOT(name BEGINSWITH[cd] 'a' OR name BEGINSWITH[cd] 'b' OR ... OR name BEGINSWITH[cd] 'z')
Run Code Online (Sandbox Code Playgroud)

这将得到一切不以字母开头的东西.同样:

name BEGINSWITH[cd] '0' OR name BEGINSWITH[cd] '1' OR ... OR name BEGINSWITH[cd] '9'
Run Code Online (Sandbox Code Playgroud)

会得到所有以数字开头的东西.

编辑评论提示另一个想法:

如果你能提取出的第一个字母name,你可以这样做:

NOT(name[0] IN %@), arrayOfLetters
Run Code Online (Sandbox Code Playgroud)

(name[0]作为字母字符的第一个字符name,并且arrayOfLettersNSArray字母字符的一部分)