数组排序 (数组是有序容器,因此集合中只有数组才能排序。)

数组排序-NSSortDescriptor · 

该类能够方便的实现对数组中的对象进行升序或者降序的排序。它可以把元素的某个属性作为key进行升序或降序的排序,每一个NSSortDescriptor 对象就是一个排序条件。 

创建数组对象

NSArray *array = @[@“zhonger”, @honghuang”,@“bada”];

创建排序条件 

NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES]; · · 

数组根据排序条件进 排序

NSArray *resultArray = [array sortedArrayUsingDescriptors:@[descriptor]];

其他数组排序方法 

不可变数组排序 

  不可变数组排序:(排序结果形成新数组, 原数组不改变) - (NSArray *)sortedArrayUsingSelector: (SEL)comparator; 注:SEL类型的参数comparator:需要传一个返回结果是NSComparisonResult的方法名。 

例:

NSArray *array = @[@“zhonger”, @“bada”, @“honghuang”,@“qiuxiang”];

NSArray *newArray = [array sortedArrayUsingSelector:@selector(compare:)];

可变数组排序

  可变数组排序:(直接对原数组操作)- (void)sortUsingSelector:(SEL)comparator; 

注:SEL类型的参数comparator:需要传一个返回结果是NSComparisonResult 的函数 注意:可变数组排序 法与不可变数组

NSMutableArray *array = [@[@“zhonger”, @“bada”, @“honghuang”,@“qiuxiang”] mutableCopy];

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

原文地址:https://www.cnblogs.com/d-mm/p/5210217.html