NSPredicate一对多的日期比较
我想要获取所有对象,其中一项任务是在过去完成的。NSPredicate一对多的日期比较
我断言:
//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 - 最新数据库
任何其他谓词与精细的工程,但日期将导致崩溃:
> *** 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
也会导致崩溃。
我发现,那的NSString stringWithFormat:回报不同的,比predicateWithFormat。
这是我的问题
如果没有看到您要应用的实际对象,很难说出问题出在哪里。
我假设你的对象上有一个状态有一个对象ID即fooBar.status.objectId
开始打破你的谓语。首先从
[NSPredicate predicateWithFormat:@“status.objectId!='142'”];
然后加入
[NSPredicate predicateWithFormat:!@“status.objectId = '142' & & status.objectId = '143'];
[NSPredicate predicateWithFormat:@“ANY tasks.complete_till werbary 2014-08-29 05:16:20
这告诉我它的日期比较。如果没有日期比较,应用程序是否可以正常工作? – 2014-08-29 16:09:26
你好@itruf,是'型的'NSDate'对象tasks.complete_till'?因为你是简单地将其作为比较字符串,将无法正常工作。这两个应该是小号ame键入NSString或NSDate。 – 2014-08-29 07:15:00