CoreData谓词:字符串属性长度?

hzx*_*zxu 8 core-data objective-c nspredicate ios

假如我有一个实体Fragment,它有一个属性'text'是一个字符串,我想查询Fragmenttext长度为5 的列表:

[NSPredicate predicateWithFormat:@"position == %@ AND text.length == %d", pos, 5];
Run Code Online (Sandbox Code Playgroud)

它不起作用(即返回没有结果),但如果我在查询中删除text.length它可以工作,我确定有长度为5的文本,那么我需要将它更改为什么?

谢谢!

Svi*_*miv 17

字符串中没有长度属性NSPredicate.请改用正则表达式.您的谓词应如下所示:

[NSPredicate predicateWithFormat:@"position == %@ AND text MATCHES %@", pos, @".{5}"];
Run Code Online (Sandbox Code Playgroud)