- (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