NSPredicate检查NULL和Core Data中的空字符串

时间:2014-03-24 16:20:41

标签: core-data ios7 nspredicate nsexpression predicatewithformat

由于不支持CoreData长度且CoreData转换谓词name.length> 1到sqlite名称> 1 ...虽然它应该是长度(名称)> 1。

我们可以使用这个:     [NSPredicate predicateWithFormat:@“NOT name MATCHES'^ \ s * $'”];

但是正则表达式将具有更高的计算成本(比评估正则表达式所花费的时间长于简单相等)。

所以我怎么做fetch.Any最好的主意?

1 个答案:

答案 0 :(得分:2)

请浏览CoreData predicate: string property length?

或者你可以这样做

NSString *attributeName = @"name";
NSString *attributeValue = [NSString stringWithFormat:@".{%d}", 5];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K MATCHES %@", attributeName, attributeValue];

参考 - NSPredicate for an NSManagedObject's string attribute's length