********************************************
// 可变数组构造方法
//  下边两句的定义都是不可变的
//    NSMutableArray *marray1 = [[ NSArray alloc]init];
//    NSMutableArray * marray1 = @[@"xx",@"yy"];
//默认数组没有元素
NSMutableArray * marray1 = [[ NSMutableArray alloc]init];
NSMutableArray * marray = [NSMutableArray array];
NSMutableArray * marray2 = [[ NSMutableArray alloc]initWithArray:@[@"1",@"2"]];
NSMutableArray * marray3 = [[NSMutableArray alloc]initWithObjects:@"one",@"two",@"three", nil];
id objs[5] ={@"123",@"456",@"789",@"abc",@"def"};
// objs 的类型为: id [5];
// 因为objs是数组名,即首元素的地址,又因为首元素的类型为id;
//     所以:  objs的类型为: id *
NSMutableArray * marray4 = [[NSMutableArray alloc]initWithObjects: objs count:3];
NSLog(@"marray4: %@", marray4);
//  开辟80个字节的动态内存,给memory,
//       即memory指向了80个字节的合法内存
id * memory = (__bridge id *)malloc(80);
memory[0]=@"mem1";
memory[1]=@"mem2";
memory[2]=@"mem3";
memory[3]=@"mem4";
memory[4]=@"mem5";
NSMutableArray * marray5 = [[ NSMutableArray alloc]initWithObjects:memory count:3];
NSLog(@"marray5: %@", marray5);
//构造一个可变数组,初始给它10个元素空间, 但没有元素
NSMutableArray * marray6 = [[ NSMutableArray alloc]initWithCapacity:10];
//注意: marray6还是一个空数组,即没有元素存在
NSLog(@"marray6:%@", marray6);
********************************************
//给数组添加元素
//  add   insert
NSMutableArray * array = [[ NSMutableArray alloc]init];
//尾部追加一个元素
[array addObject:@"theFirstObject"];
NSLog(@"第一次调 addObject: array: %@",array);
[array addObject:@"theSecondObject"];
NSLog(@"第二次调 addObject: array: %@", array);
//尾部拼接一个数组
[array addObjectsFromArray:@[@"add1",@"add2"]];
NSLog(@"第一次调 addObjectsFromArray: array: %@", array);
//结果说明 addObject是往数组的尾部追加元素
[array insertObject:@"theInsertObject" atIndex:1];
NSLog(@"第一次调 insertObject: array: %@", array);
********************************************
//删除数组中的元素
NSMutableArray * array  = [[ NSMutableArray alloc]initWithArray:@[@"1",@"2",@"3",@"4",@"5",@"6",@"1",@"1" ]];
NSLog(@"array: %@", array);
// remove
//删除这个对象在数组中的所有出现的地方
[array removeObject:@"1"];
NSLog(@"第一次调 removeObject: array: %@",array);
//删除最后一个元素
[array removeLastObject];
//删除指下定标的元素
[array removeObjectAtIndex:0];
//删除所有的元素
[array removeAllObjects];
********************************************
//重置数组,替换数组的某个下标的元素
NSMutableArray * array = [[ NSMutableArray alloc]initWithArray:@[@"abc",@"def",@"ghi"]];
NSLog(@"原始数组: array: %@",array);
NSArray * newArray = @[@"123",@"456",@"789"];
[array replaceObjectsInRange:NSMakeRange(0, [array count]) withObjectsFromArray:newArray];
NSLog(@"全部元素被替换后的数组: array: %@",array);
[array replaceObjectAtIndex:1 withObject:@"[theFisrtReplaceObject]"];
NSLog(@"替换某一个下标的元素:array: %@",array);
NSLog(@"新替换后的元素为: %@", [array objectAtIndex:1]);
********************************************
//数组对象的其它常用方法
NSArray * array = @[@"one",@"two",@"three"];
//获取数组的首元素
id obj1 = [array firstObject];
NSLog(@"obj1: %@", obj1);
//获取数组的尾元素
id obj2 = [array lastObject];
NSLog(@"obj2: %@", obj2);
********************************************
********************************************

最新文章

  1. C语言-占位符
  2. MicroERP数据初始化SQL脚本
  3. Android 软引用
  4. 如何在HTML中加载Flash(2种实现方法)_HTML/Xhtml_网页制作
  5. 解决ERROR 2003 (HY000): Can't connect to MySQL server on
  6. CSS3详解:background
  7. poj 3694 Network 边双连通+LCA
  8. 老项目的#iPhone6与iPhone6Plus适配#Icon适配
  9. 遍历List/Map的时候删除成员遇到的奇怪问题
  10. linux I/O
  11. JAX-RS入门 一 :基础
  12. hdu2041java
  13. Linux知识扫盲
  14. Lucence.net索引技术 一
  15. Linux下nginx生成日志自动切割
  16. Linux内核探索之路——关于方法
  17. js面试题-2
  18. 【京东账户】——Mysql/PHP/Ajax爬坑之添加购物车
  19. linux打包文件和压缩
  20. FileStorage

热门文章

  1. DP - 2016网易杭研笔试题A
  2. 兼容各浏览器的iframe - onlaod事件
  3. 开始ASP.NET MVC5之旅
  4. js隐藏或显示某区域
  5. MEF入门之不求甚解,但力求简单能讲明白(三)
  6. MySQL知识总结
  7. PHP中用GD绘制饼图
  8. Titanium Studio下载地址
  9. jquery刷新页面
  10. Python实现装饰模式的一段代码