1
我需要检索所有Booking
对象,并将departDate
属性设置为当前日期或将来的日期。我的代码如下:NSPredicate - 获取受限于未来日期的核心数据
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(departDate >= %@)", [NSDate date]];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:predicate];
NSError *error;
bookings = [[context executeFetchRequest:fetchRequest error:&error] retain];
NSLog(@"curernt date %@", [NSDate date]);
for (Booking *order in bookings) {
NSLog(@"%@", [NSDate dateWithTimeIntervalSince1970:order.departDate]);
}
但日志显示:
2012-03-06 18:58:24.518 Airline[2201:207] curernt date 2012-03-06 13:28:24 +0000
2012-03-06 18:58:24.520 Airline[2201:207] 2012-03-06 12:37:59 +0000
2012-03-06 18:58:24.528 Airline[2201:207] 2012-03-05 12:55:50 +0000
2012-03-06 18:58:24.529 Airline[2201:207] 2012-03-08 12:55:50 +0000
2012-03-06 18:58:24.530 Airline[2201:207] 2012-03-02 13:07:33 +0000
2012-03-06 18:58:24.531 Airline[2201:207] 2012-04-06 13:13:53 +0000
2012-03-06 18:58:24.532 Airline[2201:207] 2012-01-06 13:13:53 +0000
所有的对象都被检索,好像没有过滤器。有人能告诉我我在这里做错了什么吗?
,但是当我生成'NSManagedObject'子类,我检查了“使用基本数据类型的标量属性”,也许是因为'departData'在我的类中定义为'NSTimeInterval' ..我会尝试只将该变量类型更改为'NSDate'并查看是否它的工作。 – saiy2k 2012-03-10 18:20:51
将“DepartDate”的数据类型从NSTimeInterval更改为NSDate工作... :) – saiy2k 2012-03-11 17:04:26