OC中数组操作1

本文深入讲解了Objective-C中NSArray的创建、操作及常见用途。包括不同方式创建不可变数组、数组元素的访问与检索、基本数组操作如求元素数量、元素插入等。同时介绍了NSNumber的用法,并展示了如何利用NSArray进行字符串的分割与拼接。

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

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       //不可变数组 NSArray
        //初始化
        //创建一个空的数组
        NSArray *array1=[NSArray new];
        NSArray *array2=[NSArray array];
        
        //创建一个里面只有一个元素的不可变数组
        NSArray *array3=[NSArray arrayWithObject:@"Rick"];
        //创建里面有多个元素的不可变数组
        NSArray *array4=[NSArray arrayWithObjects:@"cat",@"dog",@"mouse", nil];
        //nil只能出现再数组的最后,不能再数组中间存放nil,因为nil是一个NSArray的结束标志。
        
        //新语法
        NSArray *array5=@[@"Rick"];
        NSArray *array6=@[@"cat",@"dog",@"mouse"];
        //根据另一个数组产生新的数组
        NSArray *array7=[NSArray arrayWithArray:array6];
        
//        NSArray *array8=[[NSArray alloc]initWithObjects:@"cat",@"dog",@"mouse", nil];
        //从本地文件读取数组
        
        NSArray *array8=[NSArray arrayWithContentsOfFile:@""];
        
        //从网络文件读取数组
//        NSURL *url=[NSURL URLWithString:@""];//网址写后面
//        NSArray *array9=[NSArray arrayWithContentsOfURL:url];
        //另一种写法
        NSArray *array9 =[NSArray arrayWithContentsOfURL:[NSURL URLWithString:@""]];
        
        //求数组中元素的个数
        NSUInteger count = array6.count;
        NSLog(@"%lu",count);
        
        //数组的操作
        //访问数组中的元素
        //访问array6中的第一个元素
        NSString *str = [array6 objectAtIndex:0];
        NSLog(@"str = %@",str);
        for (int i=0; i<array6.count; i++) {
            NSLog(@"%@",[array6 objectAtIndex:i]);
        }
        
        //新语法访问数组中的元素
        NSString *str2=array6[0];
        NSLog(@"str2 = %@",str2);
        
        //NSNumber
        NSNumber *number=[NSNumber numberWithInt:5];
        //新语法  等价
        NSNumber *number2=@5;
        
        NSNumber *number3=[NSNumber numberWithBool:YES];
        //等价于
        NSNumber *number4=@YES;
        
        //通过数组中的元素找下标
        NSUInteger r=[array6 indexOfObject:@"cat"];
        NSLog(@"%lu",r);
        
        //判断数组中是否存在某个元素
        bool flag = [array6 containsObject:@"cat"];
        NSLog(@"%d",flag);
        //向不可变数组中增加一个元素,产生新的不可变数组
        NSString *newArray1=[array6 arrayByAddingObject:@"brealcat"];
        NSLog(@"%@",newArray1);
        //去除"-"
//        NSString *string=@"123-456-789";
//        NSArray *array11=[string componentsSeparatedByString:@"-"];
//        NSLog(@"%@",array11);
        //通过"-"连接起来
        NSString *string11=[array6 componentsJoinedByString:@"-"];
        NSLog(@"%@",array6);
        
        NSArray *array12=@[@"123",@"456",@"789",@"000"];
        NSString *string12=[array12 componentsJoinedByString:@"^_-"];
        NSLog(@"%@",string12);
        NSArray *array13=[string12 componentsSeparatedByString:@"^_-"];
        NSLog(@"%@",array13);
        NSString *array14=[array13 componentsJoinedByString:@""];
        NSLog(@"%@",array14);
        /*
         使用 NSArray 类注意事项
         1.数组越界:当访问NSArray时,索引超出元素个数之后会报出一个异常结果,所以最好检查一下索引结果是否越界,然后在调试
         2。数组会对加入其中的对象自动吧引用计数加一
         3.不能再数组中间存放nil,nil只能出现再数组的最后,因为nil是一个NSArray结束的标志
         */
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值