如何按升序对 NSMutablearray 进行排序

Posted

技术标签:

【中文标题】如何按升序对 NSMutablearray 进行排序【英文标题】:How to sort NSMutable array in ascending order 【发布时间】:2011-05-06 06:37:15 【问题描述】:

如何按升序对 NSMutable 数组进行排序。任何人都可以帮我解决这个问题。

【问题讨论】:

【参考方案1】:

你还没有说你的数组中有什么,但如果它是响应-compare:的东西,那么你可以使用

[myArray sortUsingSelector:@selector(compare):];

【讨论】:

【参考方案2】:

这是一种对对象数组进行排序的方法

    NSSortDescriptor * descFirstname = [[NSSortDescriptor alloc] initWithKey:@"firstname" ascending:YES];
NSSortDescriptor * descLastname = [[NSSortDescriptor alloc] initWithKey:@"lastname" ascending:YES];
[myArrayOfPerson sortUsingDescriptors:[NSArray arrayWithObjects:descLastname,descFirstname, nil]];
    [descFirstname release];
    [descLastname release];

【讨论】:

别忘了(自动)释放对象。 @DarkDust 当然!我忘记了,但更正了示例代码;)谢谢【参考方案3】:

是的,您可以使用NSSortDescriptor,看看Sort Descriptor Programming Topics。

【讨论】:

【参考方案4】:
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:nil
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [sortValuesArray sortedArrayUsingDescriptors:sortDescriptors];
NSLog(@"sortedArray%@",sortedArray);

sortValuesArray 是要排序的数组。

【讨论】:

你甚至没有指定一个键。 我已经用包含数字的排序数组完成了这段代码,所以没有键,而且大多数数组没有键,为什么。但没关系你得到解决方案很好......快乐编码...:)

以上是关于如何按升序对 NSMutablearray 进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何按数值对包含 NSDictionary 的 NSMutableArray 进行排序?

如何按NSString长度对NSMutableArray进行排序?

SQL如何按两个字段排序,一个按倒序一个按升序?

按字母顺序对 NSMutableArray 进行排序[重复]

如何按升序对条形图中的条形进行排序

我如何对 NSMutableArray iphone 进行排序?