我有两个模型部门和 worker 。部门与 worker 之间有很多关系。
worker 具有名字字段。如何通过访问departmet.workers获得按名字排序的工作人员列表?有什么办法可以在多对多关系中添加排序描述符?
最佳答案
对Adrian Hosey的代码进行了较小的改进:
除了手动遍历所有worker,您还可以执行以下操作:
-(NSArray *)sortedWorkers {
NSSortDescriptor *sortNameDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES] autorelease];
NSArray *sortDescriptors = [[[NSArray alloc] initWithObjects:sortNameDescriptor, nil] autorelease];
return [self.workers sortedArrayUsingDescriptors:sortDescriptors];
}
可能在内部执行与您的迭代完全相同的操作,但是也许它们以某种方式使其效率更高。当然打字少了……
注意:以上内容仅适用于iOS 4.0+和OSX 10.6+。在旧版本中,您需要将最后一行替换为:
return [[self.workers allObjects] sortedArrayUsingDescriptors:sortDescriptors];