iOS 工作之余小总结(四)--(2)可变与不可变数组
继续上一篇,这篇总结可变与不可变数组。
1.不可变数组NSArray
不可变数组和不可变字符串一样,创建的对象都放在代码区。继续上代码:
//1.创建
NSArray *fyArray = [NSArray array];
NSArray *fyArray1 = [NSArray arrayWithObject:@”one”]; //初始化一个数组
NSArray *fyArray2 = [NSArray arrayWithObjects:@”one”,@”two”,@”three”, nil];
NSArray *fyArray3 = [NSArray arrayWithArray:fyArray1];
NSArray *fyArray4 = @[@”one”,@”two”,@”three”];
//2.求长度
[fyArray4 count];
//3.根据下标求元素值
[fyArray4 objectAtIndex:1];
//4.根据元素值求下标
[fyArray4 indexOfObject:@”one”];
//5.遍历
NSMutableString *fyStr = [[NSMutableString alloc] init];
for (NSString *fyStr1 in fyArray4)
{
//TODO
}
//6.是否包含某个元素
[fyArray4 containsObject:@”two”];
//7.数组副本元素的深拷贝 当自定义类的对象为数组元素的时候,如果想拷贝元素的时候 要用copyItems 返回YES是深拷贝
NSArray *fyDeeplyArray = [[NSArray alloc] initWithArray:fyArray4 copyItems:YES];
注:如果返回值为NO,则为引用拷贝,即改变拷贝的对象值,原数组中的值也会被改变。
2.可变数组NSMutableArray
可变数组和可变字符串是一样的,对象开辟的空间都在堆区。
//1.创建
NSMutableArray *fyArray = [NSMutableArray array];
NSMutableArray *fyArray1 = [NSMutableArray arrayWithCapacity:100];//预估值
NSMutableArray *fyArray2 = [NSMutableArray arrayWithObject:@”one”];
NSMutableArray *fyArray3 = [NSMutableArray arrayWithObjects:@”one”,@”two”,@”three”,nil];
NSMutableArray *fyArray4 = [NSMutableArray arrayWithArray:fyArray3];
//2.添加
[fyArray4 addObject:@”five”]; // 追加对象
[fyArray4 insertObject:@”six” atIndex:1]; //向指定的位置追加指定的对象
//3.删除
[fyArray4 removeObject:@”six”];
[fyArray4 removeAllObjects];//删除数组中所有的元素
//4.替换
[fyArray4 replaceObjectAtIndex:1 withObject:@”seven”]; //替换单个的
NSArray *fyArray5 = @[@”one”,@”two”,@”three”];
[fyArray4 replaceObjectsInRange:NSMakeRange(1, 1) withObjectsFromArray:fyArray5];//替换一个范围
- 上一篇: 《操作系统》总结四(文件管理)
- 下一篇: 微信实验十四、ThinkPHP5.0用户批量删除及源码下载