Ben*_*ves 6 core-data objective-c
假设我有一个父实体,每个实体都有许多子节点.我想让所有的父母按孩子的数量排序.类似于以下伪代码的东西:
NSEntityDescription * entity = [NSEntityDescription entityForName:@"Parent" inManagedObjectContext:managedObjectContext];
[[NSSortDescriptor alloc] initWithKey:@"children.count" ascending:NO];
//Execute request
Run Code Online (Sandbox Code Playgroud)
有没有办法使用核心数据构建这样的提取?如果没有办法做到这一点,将使用sortedArrayUsingSelector:_PFBatchFaultingArray批量大小的好处进行排序?
谢谢,本
您的查询将起作用,但(假设children出现故障)将在children属性上使用键值编码方法,这反过来会触发错误(请参阅NSManagedObject文档以获取触发错误的方法列表,并讨论此行为) ,因此您将失去批处理和故障的性能优势.
您可以考虑在父实体(称为childrenCount)上维护派生属性,该属性反映与父项相关的子项数(如果这对您的情况可行).这不是最干净的解决方案,但是如果你将它作为NSNumber保留在父实体中,即使children出现故障也可以访问它,你可以直接对它进行排序.
| 归档时间: |
|
| 查看次数: |
3334 次 |
| 最近记录: |