zoukankan      html  css  js  c++  java
  • NSArray常用方法、排序及乱序

    #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
  • 相关阅读:
    Linux防火墙管理(iptables)以及开放端口配置
    CSS 样式引入方式、常用选择器以及优先级权重的计算
    初识外边距合并-margin collapsing
    纯CSS实现自适应正方形
    常用正则
    vue 学习记录
    VScode 之快速创建vue模板
    vscode之常用插件
    工具函数
    Axios之配置参数
  • 原文地址:https://www.cnblogs.com/HJiang/p/4279547.html
Copyright © 2011-2022 走看看