【发布时间】:2017-08-24 07:13:02
【问题描述】:
我有一个NSManagedObject,它有一个(可转换的)NSArray 属性arrayProperty。
我想对属性大小小于 5 的对象执行 fetch 请求过滤。我试过了
[NSPredicate predicateWithFormat:@"arrayProperty.@count <= 5"]
和
[NSPredicate predicateWithFormat:@"arrayProperty[SIZE] <= 5"]
但它们都不起作用(给Unsupported function expression count和Unsupported function [SIZE])。
有没有办法做到这一点?
【问题讨论】:
-
如果您从 SQLite 存储中获取则不会:可转换存储为 blob - CoreData 无法将您的谓词转换为可以分析 blob 的 SQL where 子句。要么获取所有内容并在内存中过滤,要么检查您的数组是否实际上应该建模为一对多关系。
标签: ios core-data nspredicate