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

时间:2015-04-06 06:19:03

标签: ios objective-c nsmutablearray nsarray

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

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

2 个答案:

答案 0 :(得分:3)

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

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

它会以这样的方式对mainArray进行排序,使得具有更高计数的内部数组将位于顶部。

答案 1 :(得分:0)

这个怎么样?

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

[myArray sortUsingDescriptors:sortDescriptors];

subArray将为inside array

[subArray count]可以解决问题。