Dis*_*Dev 8 core-data objective-c ios
我有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做这样的事情?
在此先感谢您的帮助.
Wai*_*ain 12
尝试使用集合运算符:
[NSSortDescriptor sortDescriptorWithKey:@"pets.@count" ascending:NO]
Run Code Online (Sandbox Code Playgroud)
这不能直接应用(对于获取请求),您需要执行fetch,然后对结果数组(sortedArrayUsingDescriptors:)运行排序.
如果要在获取时进行排序,则需要向保存计数编号的实体添加(非瞬态)属性.
| 归档时间: |
|
| 查看次数: |
4883 次 |
| 最近记录: |