该方法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。