Ios 按Objective-C中的审阅次数对从核心数据中获取的对象数组进行排序
我想对从核心数据中获取的一系列评论按照给定书籍的评论次数进行排序。实体为reviews,并且review实体具有属性bookid。因此,对于下表:Ios 按Objective-C中的审阅次数对从核心数据中获取的对象数组进行排序,ios,objective-c,core-data,nssortdescriptor,Ios,Objective C,Core Data,Nssortdescriptor,我想对从核心数据中获取的一系列评论按照给定书籍的评论次数进行排序。实体为reviews,并且review实体具有属性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执行此操作 我
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];
您可以设置NSFetchRequest的排序描述符
request.sortDescriptors = @[sortDescriptor]
阅读文档了解更多信息。
应该是这样,但我不是100%确定。为什么不试着让我们知道:)事实并非如此。不是为我,也不是根据这个: