gpt4 book ai didi

ios - 通过对多关系的计数使用 NSSortDescriptor 获取 CoreData

转载 作者:可可西里 更新时间:2023-11-01 03:07:08 24 4
gpt4 key购买 nike

我有 2 个具有以下关系的 CoreData 实体(Person、Pet):

一个人可以拥有多个宠物。因此,存在来自 Person->Pet 的一对多关系。

我想获取所有的人,按照他们拥有的宠物数量排序,拥有最多宠物的人排在第一位,拥有最少宠物的人排在最后。

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

[NSSortDescriptor sortDescriptorWithKey:@"pets.count" ascending:NO]

我认为“人”的“宠物”属性允许我使用 NSSet 的计数属性进行排序。唉,CoreData 提示这个错误:

Fetch exception to-many key not allowed here

这是一个完全错误的方法吗?我应该如何使用 CoreData 提取来做这样的事情?

预先感谢您的帮助。

最佳答案

尝试使用 collection operators :

[NSSortDescriptor sortDescriptorWithKey:@"pets.@count" ascending:NO]

这不能直接应用于(获取请求),您需要执行获取,然后对结果数组运行排序 (sortedArrayUsingDescriptors:)。

如果你想在抓取的同时进行排序,你需要向保存计数的实体添加一个(非 transient )属性。

关于ios - 通过对多关系的计数使用 NSSortDescriptor 获取 CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20531319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com