【发布时间】:2014-08-28 20:54:38
【问题描述】:
我正在尝试获取过去完成一项任务的所有对象。
我的谓词:
//Other Class
NSString *predicateFormat = [NSString stringWithFormat:@"status.objectId != '142' && status.objectId != '143' && deleted == 0 && ANY tasks.complete_till < %@",[NSDate date]];
class.predicateFormat = predicateFormat;
//Other class
[NSPredicate predicateWithFormat:_predicateFormat];
complete_till - 数据库中的日期
任何其他带有 ANY 的谓词都可以正常工作,但日期会导致崩溃:
> *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format
> string "status.objectId != '142' && status.objectId != '143' &&
> deleted == 0 && ANY tasks.complete_till < 2014-08-28 20:51:18 +0000"'
更新:
ANY tasks.complete_till < 2014-08-29 05:15:27 +0000
也会导致崩溃。
【问题讨论】:
-
你好@itruf,
tasks.complete_till是NSDate类型的对象吗?因为您只是将其作为无效的字符串进行比较。两者都应该是相同类型的 NSString 或 NSDate。
标签: objective-c core-data nspredicate