方法sortedArrayUsingDescriptors:sortDescriptors
是多个,并且带有一个数组所以它意味着可以有这将在它们出现在阵列中的顺序来应用多个排序描述符。
下面的代码会做那种你想如何提供我了解你的权利,你有物业sortedRelease
。
NSSortDescriptor *sortBySortedRelease = [[NSSortDescriptor alloc] initWithKey:@"sortedRelease" ascending:NO];
NSSortDescriptor *sortByName = [[NSSortDescriptor alloc] initWithKey:@"platform.name" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortBySortedRelease, sortByName, nil];
[sortBySortedRelease release]; sortBySortedRelease = nil;
[sortByName release]; sortByName = nil;
NSMutableArray *sortedReleases = [NSMutableArray arrayWithArray:[theReleases sortedArrayUsingDescriptors:sortDescriptors]];
[sortDescriptors release]; sortDescriptors = nil;
下面是从文档的相关章节NSArray
- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors
参数
sortDescriptors
NSSortDescriptor对象的数组。
返回值
按sortDescriptors指定的接收数组的副本。
讨论
第一个描述符指定的主键路径在分拣接收阵列的内容被使用。任何后续的描述符都用于进一步优化具有重复值的对象的排序。有关更多信息,请参阅NSSortDescriptor。
如果我没有获得sortedRelease和需要评估复杂的功能? – jini
如果它很复杂很可能是该类应该有它计算的负有责任。因此,只需让班级计算它并通过只读属性使其可用即可。 –