CoreDataアプリケーションで、Studentに最後に挿入されたものを表示したいと思いstdId
ますTable
。列に最後に挿入された値を取得する簡単な方法はありますか?
1 に答える
1
エンティティに のようなStudent
タイプのプロパティを追加すると、非常に簡単です。NSDate
createdAt
新しい を挿入するときは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 に答える