#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // 数组的排序 // 1. 定义一个数字数组 NSArray *array = @[@(1), @(2), @(3), @(4), @(5), @(6), @(7), @(8), @(9)]; // 2. 对数组进行排序 NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { NSLog(@"%@ ~ %@", obj1, obj2); if (arc4random_uniform(2) == 0) { return [obj2 compare:obj1]; } else { return [obj1 compare:obj2]; } }]; NSLog(@"%@", result); } #pragma mark - NSArray 常用方法 #pragma mark 数组排序方法(倒序) - (void)arraySort2 { // 数组的排序 // 1. 定义一个数字数组 NSArray *array = @[@(3), @(5), @(4), @(2), @(1)]; // 2. 对数组进行排序 NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { NSLog(@"%@ ~ %@", obj1, obj2); return [obj2 compare:obj1]; }]; NSLog(@"%@", result); } #pragma mark 数组排序方法(正序) - (void)arraySort { // 数组的排序 // 1. 定义一个数字数组 NSArray *array = @[@(3), @(5), @(4), @(2), @(1)]; // 2. 对数组进行排序 NSArray *result = [array sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { NSLog(@"%@ ~ %@", obj1, obj2); return [obj1 compare:obj2]; }]; NSLog(@"%@", result); } #pragma mark 数组常用方法 - (void)testArray { // 1. 定义一个顺序的NSNumber的数组 NSMutableArray *array = [NSMutableArray arrayWithCapacity:4]; [array addObject:@(1)]; [array addObject:@(2)]; [array addObject:@(3)]; [array addObject:@(4)]; // 2. 删除其中第二(1)项 [array removeObjectAtIndex:1]; // 3. 在第三(2)个索引位置插入一个数字5 [array insertObject:@(5) atIndex:2]; // 4. 将第一(0)项和第三(2)项进行交换 [array exchangeObjectAtIndex:0 withObjectAtIndex:2]; NSLog(@"%@", array); } @end