2012-03-06 14 views
1

departDateプロパティを持つすべてのBookingオブジェクトを現在の日付または将来の日付に設定する必要があります。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 

何のフィルタが存在しないかのようにすべてのオブジェクトが取得されています。私がここで間違っていることを教えてもらえますか?

答えて

2

コアデータのサポート日付は、NSDateとなります。 NSDateと1970年以降の秒を使用して混合しました。。お使いのモデルで

は、その後、departDate`がDate` `として設定されている`私のデータモデルに

for (Booking *order in bookings) { 
    NSLog(@"%@", order.departDate); 
} 
+0

を使用し、「日付」に設定されているdepartDateを訴える作るが、私は、 'NSManagedObject'を生成するときサブクラスでは、 "プリミティブデータ型にスカラープロパティを使用する"をチェックしました。そのため、departDataがクラス内でNSTimeIntervalとして定義されている可能性があります。その変数型のみをNSDateに変更しようとします。ifその働き。 – saiy2k

+1

'DepartDate'のデータ型をNSTimeIntervalからNSDateに変更しました。 – saiy2k

関連する問題