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