【发布时间】:2012-11-04 16:12:34
【问题描述】:
我有一个 NSArray 的日历周期,它由 NSManagedObjects 组成,其模型如下图所示:
具有以下示例内容:
endMonth = 9;
endYear = 2012;
length = 3;
...
我想做的事:
我正在尝试构建一个谓词,该谓词仅返回存在一年前等效期间的日历期间。示例:仅当数组中有句点 2011, 9, 3 时,才返回句点 2012, 9, 3(年、月、长度)作为结果。谓词需要将每个日历周期与数组中的每个日历周期进行比较。
这是我尝试过的谓词:
predicate = [NSPredicate predicateWithFormat:
@"SUBQUERY(SELF, $x, $x.endYear == endYear - 1 "
"AND $x.endMonth == endMonth AND $x.length = length).@count > 0"];
问题:
但是,使用此谓词运行我的应用程序会导致运行时崩溃并显示错误消息:NSInternalInconsistencyException',原因:'无法使用非集合对象执行集合评估。'
我的谓词有什么问题,我需要如何正确指定它?
谢谢!
【问题讨论】:
标签: objective-c ios core-data nspredicate