我正在尝试获取所有对象,其中一个任务已在过去完成。
我的谓词:
//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
也导致崩溃。
答案 0 :(得分:0)
如果没有看到你正在应用它的实际对象,很难说出问题所在。
我假设你的对象上有一个状态,它有一个objectId,即fooBar.status.objectId
开始分解您的谓词。首先从
开始[NSPredicate predicateWithFormat:@&#34; status.objectId!=&#39; 142&#39;&#34;];
然后添加
[NSPredicate predicateWithFormat:@&#34; status.objectId!=&#39; 142&#39; &安培;&安培; status.objectId!=&#39; 143&#39;];
答案 1 :(得分:0)
我发现,nsstring stringWithFormat:返回的不同于predicateWithFormat。
这是我的问题