黑马程序员技术交流社区

标题: oc数组简单介绍 [打印本页]

作者: S970028126    时间: 2015-6-27 23:38
标题: oc数组简单介绍
本帖最后由 S970028126 于 2015-6-27 23:43 编辑

数组:
        NSArray
可变数组:
            NSMutableArray
        NSArray *array = [[NSArray alloc] initWithObjects: @"One", @"Two",@"Three", nil];
        //数组的元素可以是任意的对象
        //数组中装有元素的地址
        //可以装在两个数组中,因为放的都是地址

        NSLog(@"%@",array);
        //打印数组就是打印数组的每个元素
        //%@ , 对象  打印的是description的返回值

        遍历:
                //枚举器法
                NSEnumerator * enumerator = [array objectEnumberator];
                id obj;
                while (obj = [enumerator nextObject])
                {
                        NSLog(@"%@", obj);
                }

        快速枚举法:
                for (id obj in array)
                {
                        NSLog(@"%@", obj);
                }
        使用i值遍历
                NSUInteger length = [array count]; //数组个数
                obj = [array objectAtIndex:2];     //打印出相应位置的对象
               
                NSInteger i;
                for (i=0; i<[array count]; i++)
                {
                        NSLog(@"%@", [array objectAtIndex:i]);
                }

可变数组:
        改变数组元素的个数和顺序
        NSMutableArray *array = [[NSMutableArray alloc] init];     //创建一个空数组
        [array addObject: @"one"];  //增加元素      
        [array addObject: @"two"]; //增加元素
        [array removeObject: @"One"];//删除元素
        [array remveObjectAtIndex: 1];   //删除元素
        
        //交换元素顺序
        [array exchangeObjectAt: 0 withObjectAtIndex: 2];  //交换位置0和位置2的对象
               
        NSMutableArray *array = [[NSMutableArray alloc] initWithObject: @"ont", @"Two", @"Three", nil];
        NSEnumerator *enumerator = [array objectEnumerator];//正序遍历               
        NSEnumerator *enumerator = [array reverseObjectEnumerator]; //逆序遍历
        //逆序遍历的时候允许修改数组的顺序和个数
        注意:使用枚举器法进行遍历,正序遍历的时候,对数组进行改变会出错,逆序遍历的时候,不会出错
        使用i值遍历,可以进行修改
        快速枚举法不能进行修改

        //数组和字符串的联合使用
        NSString *str = @"I am a so good man";
        NSArray *array = [str componentsSeparatedByString: @" "];   //用空格分割字符串,返回地址
        NSString * newStr = [NSMutableArray componentsJoinByString: @" "];   //将数组中内容拼成一个新字符串







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2