0

「AccidentDate」という名前の属性をEntity含む「イベント」があります。NSDate最新の「AccidentDate」のみを取得するフェッチ リクエストを実行しようとしていますが、最後の「AccidentDate」のみを取得する述語を設定する方法がわかりません。

以下はこれまでの私のコードです...

NSFetchRequest *fetchRequest1 = [[NSFetchRequest alloc] init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedObjectContext];

[fetchRequest1 setEntity:entity];

NSPredicate *predicate;                            //unknown code here
[fetchRequest1 setPredicate:predicate];

NSArray *items = [self.managedObjectContext executeFetchRequest:fetchRequest1 error:&error];

[fetchRequest1 release];

どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

1

ソート記述子の配列を に直接適用NSFetchRequestでき、さらにそのフェッチ制限を 1 に設定できます。これにより、次のコードが作成されます。

NSFetchRequest *fetchRequest1 = [[NSFetchRequest alloc] init];

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event"  inManagedObjectContext:[self managedObjectContext]];

[fetchRequest1 setEntity:entity];

NSSortDescriptor *dateSort = [[NSSortDescriptor alloc] initWithKey:@"accidentDate" ascending:NO];
[fetchRequest1 setSortDescriptors:[NSArray arrayWithObject:dateSort]];
[dateSort release], dateSort = nil;

[fetchRequest1 setFetchLimit:1];

NSManagedObject *latest = [[[self managedObjectContext] executeFetchRequest:fetchRequest1 error:&error] lastObject];

[fetchRequest1 release], fetchRequest1 = nil;
于 2010-01-02T16:30:37.540 に答える
0

AccidentDate で並べ替えられたすべてのイベントを述語なしで取得し、配列から最初のイベントを取得します。

于 2009-12-20T04:14:22.987 に答える