• Objective-C( Foundation框架 一 数组(NSArray))


    OC数组

    NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。

    NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容

    NSArray和NSMutableArray的第一个数据的下标为0。

    1、NSArray 不可变数组

    [array1 count]: 数组的长度。

        // 创建OC数组对象
        NSArray *array = [NSArray arrayWithObject:@"jack"];    
    
        // nil是数组元素结束的标志
        NSArray *array1 = [NSArray arrayWithObjects:@"jack",@"haha",nil];
        NSLog(@"%ld",array1.count); // 输出数组的长度

    [array1 objectAtIndex:0]: 访问数组中元素

    array1[0];

        NSArray *array1 = [NSArray arrayWithObjects:@"jack",@"haha",nil];
        // 访问输出数组元素
        NSLog(@"%@",[array1 objectAtIndex:1]); 
        NSLog(@"%@",array1[0]);

    快速创建OC数组对象:

    [NSArray arrayWithObjects;@"jack",@"haha" ...,nil] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。

         // 快速创建NSArray数组对象   
         NSArray *array = @[@"jack",@"rose',@"haha"];
       NSLog(@"%@",array1);

    快速遍历NSArray数组

        NSArray *array = @[@"jack",@"haha"];
        
        // id obj代表着数组中的每一个元素
        for (id obj in array){
            
            NSLog(@"%@",obj);
        }
        

    找出元素在数组中的位置

        NSArray *array = @[@"jack",@"haha"];
        
        // id obj代表着数组中的每一个元素
        for (id obj in array) {
            // 找出obj元素在数组中的位置
            NSUInteger i = [array indexOfObject:obj];
            
            NSLog(@"%ld - %@", i, obj);
        }

    利用block

        
        NSArray *array = @[@"jack",@"haha"];
         
        // 每遍历到一个元素,就会调用一次block
        // 并且当前元素和索引位置当做参考传给block
        [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            NSLog(@"---------");
        }];
    /*
      Bool *stop
      if(idx == 0){
      停止遍历
      *stop = YES;

    */
  • 相关阅读:
    阿里云ECS服务器安装docker
    ActiveMq-常见的问题
    ActiveMq-基础知识
    java语言概述
    【日语词汇类编】自然与人:气候与环境
    【日语词汇类编】传媒与娱乐:大众传播媒介
    机器学习数学基础-线性代数
    掌握机器学习数学基础之概率统计
    机器学习理论篇:机器学习的数学基础
    计算机基础知识
  • 原文地址:https://www.cnblogs.com/1023843587qq/p/4774185.html
Copyright © 2020-2023  润新知