Object-C 数组

本文介绍Objective-C中数组的基本操作,包括元素的增删改查、遍历方式、字符串处理等,并提供具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//统计数组个数 //c 中的方法sizeof(a) /sizeof(a[0]);

    NSLog(@"len = %ld",[arr count]);

// 根据给定的元素求出对应的下标 indexOfObject

    NSLog(@"%ld",[arr indexOfObject:@"003" ]);

// 根据给定的下标求出对应的元素;

    NSLog(@"%@",[arr objectAtIndex:2]);

//判断在数组中是否包含给定的元素 containsObject

    bool vavl = [arr containsObject:@"003"];
    if (vavl) {
        NSLog(@"包含");
    }

**

遍历数组

**

// 下标法

    for(NSInteger i = 0;i < [arr count];i++)
    {
        NSLog(@"%@",arr[i]);
    }

//快速

    //id 是个通用类型指针
    for (id obj in arr) {
        NSLog(@"%@",obj);
    }

//枚举器法

     //首先是从数组中取出对像放在枚举器中
    NSEnumerator *rato = [arr objectEnumerator];
    id obj1 = nil;
     //循环的取出枚举器中的对像
    while (obj1 = [rato nextObject]) {
        NSLog(@"%@",obj1);
    }

**

增删改查

**

    NSArray *arr = @[@"001",@"002"];
   //对像方法
    NSMutableArray *arr1 = [[NSMutableArray alloc] initWithArray:arr];
    NSMutableArray *arr2 = [[NSMutableArray alloc] initWithObjects:@"001",@"002",@"003",nil];
    //创建一个空的可变字符串
    NSMutableArray *arr3 = [[NSMutableArray alloc] init];
    //可变数组继承不可变数组的方法,但是不能直接赋值

//增

    [arr1 addObject:@"004"];//一次添加一个
    [arr1 addObjectsFromArray:@[@"005",@"006"]];//数组当中添加数组
    [arr1 insertObject:@"008" atIndex:2];//在指定的位置 添加元素时,下标不能超过最大下标值

//删除

    [arr1 removeObject:@"009"];
    // 删除指定范围的元素
    [arr1 removeObject:@"001" inRange:NSMakeRange(0, [arr1 count])];
    //删除指定下标的元素
    [arr1 removeObjectAtIndex:2];
    //删除最后一个元素
    [arr1 removeLastObject];
    //删除全部元素
    [arr1 removeAllObjects];

//改

    [arr1 replaceObjectAtIndex:2 withObject:@"009"];
    NSLog(@"%@",arr1);

//将数组逆序

    NSInteger count = [arr count];
    for (NSInteger i = 0; i < count / 2; i++) {
        [arr exchangeObjectAtIndex:i withObjectAtIndex:count - i - 1 ];
    }

//字符串分割

    NSString *str = @"ywhen i was young,i like a girlu";
    //componentsSeparatedByString 传入的参数是以哪个子串做为分割点
    NSArray *arr = [str componentsSeparatedByString:@"you"];
    NSLog(@"%@",arr);

    //以字符串作为字符集实例化字符集的对象
    NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"you"];
    arr = [str componentsSeparatedByCharactersInSet:set];
    //原字符串中,首位置,以及匹配到的地方,都是以空串输出
    NSLog(@"%@",arr);

    //删除空串
    NSMutableArray *arr1 = [[NSMutableArray alloc]initWithArray:arr];
    [arr1 removeObject:@""];//@" "表示空串
    NSLog(@"%@",arr1);

    //字符串拼接
    NSArray *arr2 = @[@"I",@"love",@"china"];
    NSString *str1 = [arr2 componentsJoinedByString:@" "];
    NSLog(@"%@",str1);

总结:
// 数组中元素全部是指针对象(地址)
// 不管类型 ,只要是指针对像就可以放到数组中去 c 要求是同一类型
// NSNull 空指针对像类,在数组中占一个占位符
// 可变数组中,删除一个下标会自动往前移动一个

本文要是帮到你,希望点个赞哦O(∩_∩)O哈哈~!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值