NSArray排序方法

sortedArrayUsingComparator:

NSMutableArray *array = [NSMutableArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:@"Obj0", [NSNumber numberWithInt:0], nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"Obj5", [NSNumber numberWithInt:5], nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"Obj2", [NSNumber numberWithInt:2], nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"Obj3", [NSNumber numberWithInt:3], nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"Obj1", [NSNumber numberWithInt:1], nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"Obj4", [NSNumber numberWithInt:4], nil], nil];

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

NSArray *resultArray = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

NSNumber *number1 = [[obj1 allKeys] objectAtIndex:0];
NSNumber *number2 = [[obj2 allKeys] objectAtIndex:0];

NSComparisonResult result = [number1 compare:number2];

return result == NSOrderedDescending; // 升序
// return result == NSOrderedAscending; // 降序
}];

时间: 2024-08-10 23:18:02

NSArray排序方法的相关文章

NSArray排序方法讲解

给数组排序有着多种方式 最麻烦的是sortedArrayUsingSelector:,其次是sortedArrayUsingDescriptors:,最容易使用的就是sortedArrayUsingComparator: 从最容易使用的开始吧: // 原始数组 NSArray *array = @[@"b", @"a", @"x", @"o", @"g", @"o"]; // 排序数组

NSArray 排序

NSArray排序方法讲解 给数组排序有着多种方式 最麻烦的是sortedArrayUsingSelector:,其次是sortedArrayUsingDescriptors:,最容易使用的就是sortedArrayUsingComparator: 从最容易使用的开始吧: // 原始数组 NSArray *array = @[@"b", @"a", @"x", @"o", @"g", @"o&qu

NSArray排序的一些方法

/* 大体上,OC中常用的数组排序有以下几种方法: sortedArrayUsingSelector: sortedArrayUsingComparator: sortedArrayUsingDescriptors: */ /* 1.简单排序(sortedArrayUsingSelector:) 如果只是对字符串的排序,可以利用sortedArrayUsingSelector:方法就可以了,代码如下 */ // 简单排序 void sortArray1(){ NSArray *array = [

【学习ios之路:Objective-C】OC中常用的系统排序方法

①.OC中常用排序方法: 1).不可变数组 - (NSArray *)sortedArrayUsingSelector:(SEL)comparator; - (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr; 2)可变数组 - (void)sortUsingSelector:(SEL)comparator; - (void)sortUsingComparator:(NSComparator)cmptr; 3).字典排序 - (NS

[OC Foundation框架 - 8] NSArray排序

1.派生 1 voidarrayNew() 2 { 3 NSArray*array = [NSArrayarrayWithObjects:@"1",@"2",nil]; 4 NSArray*array2 = [arrayarrayByAddingObject:@"3"]; 5 NSLog(@"%@", array2); 6 7 8 NSArray*array4 = [NSArrayarrayWithObjects:@"

关于NSArray的方法知识简单了解

简单分享下,希望大牛们多多指点迷津,逐步修改,完善不足支持.借鉴之处,还请谅解 #import <Foundation/Foundation.h> @interface Student : NSObject @property (nonatomic,assign) NSString *name; @property (nonatomic,assign) NSString *classes; @property (nonatomic,assign) int age; +(id)studentWi

iOS开发之排序方法比较

在开发应用程序的时候,有时我们需要对一组无序的内容进行排序,iOS中有系统自带的方法来对NSAray进行排序,我们来对这些方法进行性能上的对比: NSComparator排序 NSDescriptor排序 function排序 quickSort排序 由于排序的对象经常是自定义的,因此我们定义一个如下的对象: @interface Topic : NSObject @property (nonatomic, assign) NSInteger ID; @property (nonatomic,

对数组中的对象进行升序以及降序的排序方法(其中对象类型是系统类型).

[cpp] view plaincopyprint? <span style="font-size:32px;">NSArray *arr = [[NSArray alloc] initWithObjects:@"aa",@"bb",@"cc",@"dd",@"ee",@"ff", nil]; //1.对数组进行升序排序 //sortedArrayUsin

OC基础-NSArray排序

OC中的NSArray提供了较多的排序方法,可以对数组元素进行有效的排序,下面先准备一个Student和Course类来作为练习对象. 一 创建练习类 1 Course类 // Course.h #import <Foundation/Foundation.h> @interface Course : NSObject /** 初始化Course类的类方法*/ + (instancetype)courseWithEnglish:(float)englishRecords