-3

CoreDataアプリケーションで、Studentに最後に挿入されたものを表示したいと思いstdIdますTable。列に最後に挿入された値を取得する簡単な方法はありますか?

4

1 に答える 1

1

エンティティに のようなStudentタイプのプロパティを追加すると、非常に簡単です。NSDatecreatedAt

新しい を挿入するときはStudent、そのプロパティの現在の日付を渡す必要があります。

[aStudent setValue:[NSDate date] forKey:@"createdAt"];

また

aStudent.createdAt = [NSDate date];

のサブクラスを作成した場合Entity

完了したらStudent、制限 1 と昇順のソート記述子を使用してフェッチできますNO

NSFetchRequest* request = [NSFecthRequest fetchRequestWithEntityName:@"Student"];
[request setFetchLimit:1];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];

NSError *error;
NSArray *results = [context executeFetchRequest:request error:&error];

NSManagedObject *latestAddedStudent = [results objectAtIndex:0];

それが役立つことを願っています。

于 2012-09-11T21:59:18.793 に答える