相关疑难解决方法(0)

使用NSSortDescriptor通过多对多关系获取CoreData

我有2个CoreData实体(Person,Pet),它们具有以下关系:

一个人可以有多个宠物.因此,Person-> Pet存在To-Many关系.

我想取所有的人,根据宠物的数量排序,他们拥有宠物最多的人是第一个,宠物最少的人是最后一个.

在获取人员列表时,我尝试使用如下的NSSortDescriptor:

[NSSortDescriptor sortDescriptorWithKey:@"pets.count" ascending:NO]
Run Code Online (Sandbox Code Playgroud)

我认为"人"上的"宠物"属性允许我使用NSSet的count属性进行排序.唉,CoreData抱怨这个错误:

Fetch exception to-many key not allowed here
Run Code Online (Sandbox Code Playgroud)

这是一个完全错误的方法吗?我怎么能用CoreData fetch做这样的事情?

在此先感谢您的帮助.

core-data objective-c ios

8
推荐指数
1
解决办法
4883
查看次数

核心数据:NSFetchRequest按多对多关系排序

假设我有一个父实体,每个实体都有许多子节点.我想让所有的父母按孩子的数量排序.类似于以下伪代码的东西:

NSEntityDescription * entity = [NSEntityDescription entityForName:@"Parent" inManagedObjectContext:managedObjectContext];

[[NSSortDescriptor alloc] initWithKey:@"children.count" ascending:NO];
//Execute request
Run Code Online (Sandbox Code Playgroud)

有没有办法使用核心数据构建这样的提取?如果没有办法做到这一点,将使用sortedArrayUsingSelector:_PFBatchFaultingArray批量大小的好处进行排序?

谢谢,本

core-data objective-c

6
推荐指数
1
解决办法
3334
查看次数

标签 统计

core-data ×2

objective-c ×2

ios ×1