美文网首页程序员
NSArray和NSMutableArray

NSArray和NSMutableArray

作者: 每日总结 | 来源:发表于2016-02-27 16:46 被阅读219次

NSArray不可变数组

//数组中只能存放对象

初始化

NSArray *arr1 = [[NSArray alloc] initWithObjects:@"zhangsan",@"lisi",@"wangwu",nil];
//最后加的nil是一个空对象,代表数组结束。
NSArray *arr2 = [NSArray arrayWithObjects:@"tangseng",@"bajie",nil];
//便利构造器
 NSArray *arr3 = [arr2 arrayByAddingObject:@"wukong"];
//通过一个数组加入其他元素创建

NSArray *arr4 = [arr1 arrayByAddingObjectsFromArray:arr2];
//通过一个数组加上另一个数组创建

NSArray *arr6 = [arr4 subarrayWithRange:NSMakeRange(1,3)];
//从一个数组中拿出几个对象组成

字面量创建

NSArray *arr5 = @[@1,@2,@3,@"123"];
//语法糖只是简化了编码的操作,真正编译运行的还是类中定义的方法,只能用来创建不可变对象,创建可变对象时使用了mutableCopy方法

数组元素个数

NSLog(@"count = %ld",arr5.count);
 //返回值是NSUInteger

判断对象是否在数组中

NSLog(@"contains = %d",[arr5 containsObject:@4]);
//返回值是BOOL

某对象的位置

NSLog(@"%ld",[arr5 indexOfObject:@2]);
NSLog(@"%ld",[arr5 indexOfObject:@2 inRange:NSMakeRange(1,2)]);
//返回值是NSUInteger;

某位置的对象

NSLog(@"%@",[arr5 objectAtIndex:1]);

�拼接数组元素

NSString *s1 = [arr5 componentsJoinedByString:@"?"];
//将arr5中的对象用?连接成一个字符串

字符串分割

NSString *s2 = @"baidu.com";
NSArray *arr7 = [s2 componentsSeparatedByString:@"."];
//将字符串以.分割成数组元素;

NSMutableArray可变数组

初始化

NSMutableArray *muArr1 = [[NSMutableArray alloc] initWithCapacity:0];
NSMutableArray *muArr2 = [NSMutableArray arrayWithCapacity:0];
NSMutableArray *muArr3 = [@[@1,@2,@3] mutableCopy];

添加元素

[muArr3 addObject:@"wang"];
//在数组最后添加元素;
[muArr3 insertObject:@"zhao" atIndex:1];
//在数组中插入元素;
NSArray *arr = @[@1,@2];
[muArr3 addObjectsFromArray:arr];
//批量添加一个数组的元素;

删除元素

[muArr3 removeAllObjects];
//删除全部元素;
[muArr3 removeObject:@1];
//删除某个元素;
[muArr3 removeObject:@1 inRange:NSMakeRange(1,2)];
//删除某范围的全部某种元素;
[muArr3 removeObjectsInArray:arr];
//批量删除一个数组的元素;
[muArr3 removeLastObject];
//删除最后一个元素
[muArr3 removeObjectsInRange:NSMakeRange(1,2)];
//删除某范围内的全部元素;

数组元素修改

[muArr3 replaceObjectAtIndex:0 withObject:@"laowang"];
//修改某位置的元素;
[muArr3 exchangeObjectAtIndex:1 withObjectAtIndex:2];
//交换两个位置的元素
[muArr3 replaceObjectsInRange:NSMakeRange(1,2) 
         withObjectsFromArray:arr 
                         rang:NSMakeRange(1,2)];
//将某范围内的元素与另一数组的某范围元素交换;

z

相关文章

网友评论

    本文标题:NSArray和NSMutableArray

    本文链接:https://www.haomeiwen.com/subject/nzvwkttx.html