Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按Objective-C中的审阅次数对从核心数据中获取的对象数组进行排序_Ios_Objective C_Core Data_Nssortdescriptor - Fatal编程技术网

Ios 按Objective-C中的审阅次数对从核心数据中获取的对象数组进行排序

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执行此操作 我

我想对从核心数据中获取的一系列评论按照给定书籍的评论次数进行排序。实体为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执行此操作

我相信,您可以在获取后使用以下方法对数组执行此操作,但似乎可以在核心数据结果中直接执行此操作

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%确定。为什么不试着让我们知道:)事实并非如此。不是为我,也不是根据这个: