Я бы хотел отсортировать массив Обзоров, извлеченных из Базовых данных, по количеству просмотров данной книги.Объект является обзорами, а объект обзора имеет атрибут bookid.Так для следующей таблицы:
reviewid|bookid|review
1|1|This is a great novel...
2|1|Wonderful novel
3|2|Ok biography.
4|3|Horrible romance
Я хотел бы вернуть массив с bookid = 1 вверху, так как он имеет два отзыва, в то время как другие имеют один.
Как я могусделать это с помощью NSSortDescriptor?
Я полагаю, вы можете сделать это с массивом после выборки, используя следующее, но кажется, что это должно быть возможно сделать непосредственно в результатах основных данных
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Parent" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:reviews];
NSError *error;
NSArray *results = [self.managedObjectContext executeFetchRequest:request error:&error];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"bookid.@count" ascending:NO];
NSArray *descriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
NSArray *sortedArray = [results sortedArrayUsingDescriptors:descriptors];