NSPredicate比较CoreData中的日期

时间:2011-03-29 21:21:56

标签: iphone objective-c core-data nspredicate nsfetchrequest

我有一个带有两个日期的托管对象:dateOne和dateTwo,我想检索dateTwo比dateOne早的日期。

现在我正在使用以下谓词来获取对象:

NSArray *objects = nil;

NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Object" inManagedObjectContext:context];
request.predicate = [NSPredicate predicateWithFormat:@"dateOne > dateTwo", @""];

objects = [context executeFetchRequest:request error:nil];
[request release];

有时它可以工作,但有时候提取的对象有一个dateOwo,它比dateOne更新。有没有更好的方法来做这样的事情?

谢谢!

2 个答案:

答案 0 :(得分:0)

也许您可以向实体添加BOOL属性“dateTwoIsOlder”,然后只获取与之相符的对象?

答案 1 :(得分:0)

为什么不从核心数据创建fetch request而不是以编程方式进行?