Core data 具有对多关系的NSSortDescriptor

Core data 具有对多关系的NSSortDescriptor,core-data,Core Data,我有一个父实体,它有许多子实体。如果我使用属性(例如名称)命令父获取,则一切正常。但如果我尝试这样做: NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"child.@count" ascending:NO]; 它不起作用。我也试着补充一下 [fetchRequest setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:[

我有一个父实体,它有许多子实体。如果我使用属性(例如名称)命令父获取,则一切正常。但如果我尝试这样做:

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"child.@count" ascending:NO];
它不起作用。我也试着补充一下

[fetchRequest setRelationshipKeyPathsForPrefetching:[NSArray arrayWithObject:[entityProperties objectForKey:@"child"]]];
但效果不太好


允许我按多进行排序。@计数还是每次添加子项时都需要添加属性并更新它?

假设您使用的是sqlite存储;您不能按
@count
排序,因为它是在“对象”级别解析的,而
NSFetchRequest
上的
nssortddescriptor
是在数据库级别解析的。因此,正如您所猜测的,您需要创建一个计数属性来进行排序


如果您使用的是二进制或内存存储类型,那么count应该可以正常工作,因为它们只能作为对象访问。

谢谢。我很困惑,因为根据你在这里给出的答案,这听起来似乎是可能的: