黑马程序员技术交流社区

标题: MSMutableArray [打印本页]

作者: c9527    时间: 2015-11-7 09:27
标题: MSMutableArray
MSMutableArray可变数组

大多时候我们需要动态的增加和删除数组中的元素,这就需要使用MSMutableArray.

int main(int argc, const char * argv[])
{

    @autoreleasepool {

       //创建一个空数组
       NSMutableArray *arrs = [NSMutableArray array];

        //C中的一些基本元素我们可以用NSNumber类来包装,类似java中的装箱,另外还有一些struct类型的数据我们也可以用NSNumber类的父类NSValue来进行包装,包装成NSValue的对象再将其放入数组中。
        int age=23;
        char c='a';
        float f=3.1415926;
        NSRect rect =NSMakeRect(1, 2, 3, 4);

        NSNumber *objAge = [NSNumber numberWithInt:age];
        NSNumber *objC =[NSNumber numberWithChar:c];
        NSNumber *objF =[NSNumber numberWithFloat:f];
        NSValue *objRect = [NSValue valueWithRect:rect];

        [arrs addObject:objAge];
        [arrs addObject:objC];
        [arrs addObject:objF];
        [arrs addObject:objRect];

        //如果要添加空的话可以用以下方法
        [arrs addObject:[NSNull null]];

        NSLog(@"Size of arrs: %li",(unsigned long)[arrs count]); //Size of arrs: 5
        NSLog(@"%@",arrs);

        //创建一个指定初始容量的数组
        NSMutableArray *arrs2 = [NSMutableArray arrayWithCapacity:3];

        //指定初始容量为3,但我们添加了5个对象
        [arrs2 addObject:@"obj1"];
        [arrs2 addObject:@"obj2"];
        [arrs2 addObject:@"obj3"];
        [arrs2 addObject:@"obj4"];
        [arrs2 addObject:@"obj5"];

        //将对象 obj 插入到索引为 i 的位置
        [arrs2 insertObject:@"obj" atIndex:0];

        //删除指定索引处的对象
        [arrs2 removeObjectAtIndex:3];

        //遍历数组
        for(id obj in arrs2){
            NSLog(@"%@",obj);    //obj,obj1,obj2,obj4,obj5
        }

        //合并字符串数组
        NSString *str = [arrs2 componentsJoinedByString:@"|"];
        NSLog(@"%@",str);  //obj|obj1|obj2|obj4|obj5

        //字符串切割成数组
        NSArray *arr3=[str componentsSeparatedByString:@"|"];
        NSLog(@"%@",arr3);

    }

    return 0;
}
作者: 飞奔的小鱼    时间: 2015-11-7 13:27
加油哦!




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