OC-数组的运用

 

    /**

     *  .数组:存储多个对象

     * NextStep=NS

     *

     *数组中元素也可以是数组

     */

    //创建字面量数组

    NSArray *arr=@[@"abc",@"def"]//一维数组 (xxx,xxx,xxxx....)表示

    NSArray *arr1=@[arr,@"nhk"];    //二维数组 ( (xxx,xxxx....)xxxx,xxx)

    NSLog(@"arr=%@",arr);

     NSLog(@"arr1=%@",arr1);

    //1.访问数组元素的方法

    //(1.)

    //objectAtIndex:根据索引取出数组的元素

    NSString *str21=[arr objectAtIndex:0];

     NSLog(@"str21=%@",str21);

    //(2.)试用arr[i]

    NSString *str22=arr[1];

    NSLog(@"str22=%@",str22);

    //(3.)多维数组使用多个[][]

    NSString *str23=arr1[0][0];

    NSLog(@"str23=%@",str23);

    //2.使用构造器,便利初始化方法创建对象

    

    NSArray *arr3=[[NSArray alloc]initWithObjects:@"123",@"456",@"789", nil];

    

    NSLog(@"%@",arr3);

    //使用便利构造器

    NSArray *arr4=[NSArray arrayWithObjects:@"123",@"456",@"789", nil];

     NSLog(@"%@",arr4);

    //3.可变数组

    NSMutableArray *marr=[NSMutableArray array];

    //追加元素  addObject

    [marr addObject:@"12"];

    [marr addObject:@"34"];

    [marr addObject:@"56"];

    //删除(removeObjectAtIndex)某个索引对应的元素,删除某个元素之后后面的元素惠自动往前移

    [marr removeObjectAtIndex:1];

    NSLog(@"%@",marr);


    

    NSMutableArray *marr3=[NSMutableArray arrayWithArray:marr];

      NSLog(@"%@",marr3);

    

    //更多方法,请参加文档:CMD +单击

    

    //4.字符串分割

   // @"name=yang&sex=m&tel=1770&color=yellow"

    //遇到componentsSeparatedByString:就分割

    NSString *url =@"name=yang&sex=m&tel=1770&color=yellow";

    NSArray *components =[url componentsSeparatedByString:@"&"];

    NSLog(@"components=%@",components);

    

    //遍历数组

   // 方法1.利用数组的count个数 (依人)

    for (int i=0; i<components.count; i++)

    {

        //取出数组的每一个组件,例如:name=yang

        NSString *com=components[i];

        NSArray *newArr =[com componentsSeparatedByString:@"="];

        NSString *key=newArr[0];

        NSString *value =newArr[1];

        NSLog(@"%@:%@",key,value);

    }

    

    //方法2.快速枚举   重点1

    //缺点,没有数组的索引

    //从数组中每次取一个放入到str变量中

    for (NSString *str in components)

    {  //此代码会执行数组个次数

        NSLog(@"%@",str);

        

    }

    

    //方法3.块枚举  (待续)

    [components enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

        NSLog(@"索引%lu",idx);

        NSLog(@"数组元素是%%@",obj);

        if (-1) {

            *stop =YES;

        }

    }];

    

    //方法4.枚举器 (了解)

    //创建枚举器:

    NSEnumerator *enumtor=[components objectEnumerator];

    id objj;

    //nextObject方法每次可以获取数组的一个元素

    while (objj=[enumtor nextObject]) {

        NSLog(@"%@",objj);

    }

    

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值