Foundation中的NSArray与NSMutablerray


NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。
NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容
NSArray和NSmutableArray的第一个数据的下标为0。

一、初始化方法:
1.init返回一个空数组
2.initWithArray从已有数组初始化
3.initWithContentsOfFile//从plist文件加载
4.initWithContentsOfUrl//从网络地址上获取
5.initWithObject用一个对象初始化
6.initWithObjects从多对象初始化

二、NSArray
 NSArray *array1 = [NSArray arrayWithObject:@"zhangliu1"]; //不可变数组
        NSArray *array2 = [NSArray arrayWithObjects:@"zhangliu1",@"zhangliu2", nil]; //创建并初始化数组,nil是数组结束标志
        NSArray *array3 = @[@"man",@"women",@"unknown"]; //快速创建字符数组,NSMutableString不能用,返回值是NSArray
    
        NSUInteger i = [array2 count]; //元素个数<strong>
    </strong>
三、NSmutableArray
NSMutableArray *array = [NSMutableArray array]; //创建数组
        [array addObject:@"jack"]; //添加元素
        [array removeObject:@"jack"];//删除元素
       [array removeObjectAtIndex:0];//根据位置删除元素
四、遍历NSArray的三种方法
<strong> </strong>for (int i = 0; i < array3.count ; i++) //遍历数组(1)
        {
            NSLog(@"%@",array3[i]);
        }
        
       for (id obj in array3) //遍历数组(2):快速遍历
                              //将每个元素依次赋给obj来进行遍历
        {
           NSLog(@"%@",obj);
        }
   
                                //遍历数组(3) 利用block
        [array3 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) //每拿到array3的一个元素调用一次block,并将元素,索引位置当参数传递给block
        {
            NSLog(@"%ld-%@",idx,obj);
            if(idx == 1)
            {
                *stop = YES; //每当索引到第一个的时候,BOOl类型赋值为YES,停止遍历
            }
        }];
    
     NSLog(@"%@",array3);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值