0

CoreData データベースに、NSDate 型の「日付」プロパティを持つオブジェクトがあります。最も早い 10 の日付でオブジェクトを取得するにはどうすればよいですか?

これは私がこれまでに持っているものです:

NSFetchRequest *fetchRequest = [NSFetchRequest new];
fetchRequest.entity = [NSEntityDescription entityForName:NSStringFromClass([MyManagedObject class]) inManagedObjectContext:self.database.managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"date" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
NSArray *result = [self.database.managedObjectContext executeFetchRequest: fetchRequest error: nil];

これにより、すべての管理対象オブジェクトがソートされた順序で返されると思いますが、実際に必要なのは最新の 10 個だけです。これどうやってするの?NSFetchRequestそして、それらをすべてフェッチしてからプログラムでソートするよりも、を使用してソートする方が高速でしょうか?

4

2 に答える 2