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