如何根据主数组中的长度对数组进行排序

How to sort Arrays according to length inside Main Array

我有一个 NSMutableArray mainArray,在这个 mainArray 的每个索引上我还有其他长度为 2、3 或 4 的数组。

我想对 mainArray 进行排序,使长度较大的数组位于 mainArray 之上。

看看 this question ,这可能会有帮助

NSSortDescriptor *sd = [NSSortDescriptor sortDescriptorWithKey:@"@count"
                                                 ascending:NO];
NSArray *sds = [NSArray arrayWithObject:sd];
NSArray *sortedArray = [array sortedArrayUsingDescriptors:sds];

它会对 mainArray 进行排序,使计数较高的内部数组排在最前面。

这个怎么样?

NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:[subArray count]
                                              ascending:NO] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];

[myArray sortUsingDescriptors:sortDescriptors];

subArray 将是 inside array

[subArray count] 会成功的。