A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© c9527 中级黑马   /  2015-11-7 09:27  /  622 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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;
}

1 个回复

倒序浏览
加油哦!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马