如何按升序对 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进行排序?