阅读 478

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

 

原文:https://www.cnblogs.com/weiios/p/15159642.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐