• iOS NSArray NSMutableArray 基础 创建、添加、删除、替换


    一、数组的简单介绍

    1.数组是一个对象,是任意类型对象地址的集合,OC的数组可以存储不同类型的对象

    2.OC的数组只能存储对象,不能存放 简单的数据类型(int, float, NSInteger…)除非通过一些手段把简单数据类型变成对象。在C语言中的数组可以保存任意类型的数据。

    3.存储的内存是连续的

    NSArray

    - (void)testNSArray {
        //定义一个空数组
        NSArray *array = [NSArray array];
        //空数组
        array = @[];
        //通过指定对象创建数组
        array = [[NSArray alloc]initWithObjects:@"AAA",@"911",@"嗯嗯",@"abc",@"cc", nil];
        //通过简单的方式创建数组
        array = @[@"AAA",@"911",@"嗯嗯",@"abc",@"cc"];
        
        // 得到数组中第一个对象
        NSString *first = [array firstObject];
        // 得到数组中最后一个对象
        NSString *last = [array lastObject];
        
        // 取出数组的指定的对象 (下标要小于数组的count)
        NSString *str = [array objectAtIndex:3];
        NSString *str1 = array[3];  // 第二种写法
        
        
        // 得到指定元素在数组中的位置  如果元素不存在则打印-1值
        int index = (int)[array indexOfObject:@"911"];
        int index1 = (int)[array indexOfObject:@"cc"];
        NSLog(@"index=%d,index=%d",index,index1) ;
        
        
        
        // 判断当前的数组中是否包含对应的对象  containsObject
        BOOL isHave = [array containsObject:@"abc"] ;
        if (isHave) {
            NSLog(@"存在") ;
        }else{
            NSLog(@"不存在") ;
        }
        
        
        //  [A isKindOfClass:B],判断A类是否是B的子类或者本类。
        //  [A isMemberOfClass:B],判断A类是否是B类(不包括子类)
        
    }

    NSMutableArray

    - (void)testNSMutableArray {
        //创建并设定数组元素个数
        NSMutableArray *arr1=[NSMutableArray arrayWithCapacity:12];
        //复制数组
        NSArray *arr2=@[@"Jan",@"Feb",@"Mar",@"Apr",@"May",@"Jun",@"Jul",@"Aug",@"Sep",@"Oct",@"Nov",@"Dec"];
        NSMutableArray *arr3=[NSMutableArray arrayWithArray:arr2];
        //向数组中添加一个元素
        [arr3 addObject:@"one"];
        //根据指定下标插入元素
        [arr3 insertObject:@"two" atIndex:6];
        //删除最后一个元素
        [arr3 removeLastObject];
        //根据指定下标删除元素
        [arr3 removeObjectAtIndex:3];
        //根据指定对象删除元素(若未找到返回NSNotfind
        [arr3 removeObject:@"three"];
        //替换指定下标的元素
        [arr3 replaceObjectAtIndex:3 withObject:@"four"];
        //删除全部元素
        [arr3 removeAllObjects];
    }
  • 相关阅读:
    软件测试经理工作职责
    测试经理的年终总结
    从0到1,如何快速搭建人才梯队?
    Centos 的常用命令总结
    Docker的常用命令总结
    Jenkins Android项目编译配置(完整版)
    linux CentOS 权限问题修复(chmod 777 -R 或者chmod 755 -R问题修复)
    基于gitlab的项目管理流程
    js 防抖动、重复提交、频繁点击
    GPUImage移植总结
  • 原文地址:https://www.cnblogs.com/weiios/p/15159642.html
Copyright © 2020-2023  润新知