core-data - NSPredicate 用于检查核心数据中的 NULL 和空白字符串

标签 core-data ios7 nspredicate nsexpression predicatewithformat

由于不支持 CoreData 长度,并且 CoreData 将谓词 name.length > 1 转换为 sqlite in name > 1 ... 虽然它应该是 length(name) > 1。

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

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

所以我必须怎么做。有什么好主意吗?

最佳答案

请转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

关于core-data - NSPredicate 用于检查核心数据中的 NULL 和空白字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22614946/

相关文章:

ios - iCloud 与 Coredata 同步

ios - 由于错误代码 -1,存档未成功,尽管我可以使用开发配置文件在我的设备中进行构建和安装

ios - 导航栏进入困惑状态

objective-c - 使用 NSPredicate 分析字符串

ios - AND 和 OR 与 NSPredicate 结合。 iOS swift

swift iOS 7 替换时间和距离计数器

ios8 - 嵌套对象 IOS 的 NSPredicate 问题

ios - NSFetchedResultsController的随机结果

ios - 在屏幕 IOS 上获取完整的 Touch Area/Space

ios - 无法在实现中引用委托(delegate)协议(protocol)