Comment
親エンティティを持つCoreData エンティティがありますMeasurement
。
Measurement
エンティティには属性measurementDate
があります。
私の Core Data データベースには 200 のComment
レコードがあり、それぞれがmeasurementDate
過去 3 年間でさまざまな値を持っています。
measurementDate
任意の 2 つの日付の間にあるレコードを取得しようとしています。
まず、私はこれを試しました:
//now fetch a record between 12 and 11 months ago
NSDate *startDate = [AppGlobals dateByAddingMonths:[NSDate date] withMonths:-12];
NSDate *endDate = [AppGlobals dateByAddingMonths:startDate withMonths:1];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(measurementDate >= %@) AND (measurementDate <= %@)", startDate, endDate];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Comment" inManagedObjectContext:self.context]];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *results = [self.context executeFetchRequest:request error:&error];
しかし、私は0の結果を得ました。
そこで、述語をより単純なものに置き換えてみました。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"measurementDate >= %@", startDate];
これにより、結果の約 3 分の 1 が返されるはずです。しかし、実際には 200 件すべてのレコードが返されます。
オブジェクトの日付をログアウトしましたが、日付が完全に無視されているようです!
私は何を間違っていますか???
親抽象エンティティと関係がありますか?エンティティではなくエンティティMeasurement
から取得しているためですか? コードで「プリミティブ データ型のスカラー プロパティ」を使用しているためですか? Comment
Measurement
どんな助けでも大歓迎です。