• 周日. 5月 26th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

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

admin

11月 28, 2021

一、数组的简单介绍

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];
}

《iOS NSArray NSMutableArray 基础 创建、添加、删除、替换》有一个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注