1. /*---------------------NSArray---------------------------*/
  2. //创建数组
  3. NSArray *array1 = [NSArray arrayWithObject:@"1"];
  4. NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
  5. NSArray *array3 = [NSArray arrayWithArray:array2];
  6. NSLog(@"array1 = %@",array1);
  7. NSLog(@"array2 = %@",array2);
  8. NSLog(@"array3 = %@",array3);
  9. //获取数组内数据个数
  10. int count = [array2 count];
  11. NSLog(@"array2 size is %d",count);
  12. //访问数组内的数据
  13. NSString *str1 = [array2 objectAtIndex:0];
  14. NSLog(@"array2 first content is %@",str1);
  15. //数组中插入数据   返回新的数组
  16. NSArray *array4 = [array3 arrayByAddingObject:@"4"];
  17. NSLog(@"array4 = %@",array4);
  18. //数组内的数据以制定字符连接
  19. NSString *str2 = [array4 componentsJoinedByString:@","];
  20. NSLog(@"str2 = %@",str2);
  21. //判断数组中是否包含某对象
  22. BOOL b1 = [array4 containsObject:@"4"];
  23. BOOL b2 = [array4 containsObject:@"5"];
  24. NSLog(@"b1 = %d,b2 = %d",b1,b2);
  25. //取数组内制定对象的索引
  26. int index = [array4 indexOfObject:@"4"];
  27. NSLog(@"index = %d",index);
  28. NSString *str3 = [array4 lastObject];
  29. NSLog(@"array4 last object is %@",str3);
  30. /*-----------------------可变数组NSMutableArray-----------------------------------------*/
  31. //初始化数组 指定数组长度   但可变
  32. NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5];
  33. //向数组中添加元素
  34. [mArray1 addObject:@"aaaa"];
  35. [mArray1 addObject:@"cccc"];
  36. NSLog(@"mArray1 = %@",mArray1);
  37. //向指定位置插入元素
  38. [mArray1 insertObject:@"bbbb" atIndex:1];
  39. [mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];
  40. [mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];
  41. NSLog(@"mArray1 = %@",mArray1);
  42. //移除元素
  43. [mArray1 removeObject:@"eeee"];
  44. NSLog(@"mArray1 = %@",mArray1);
  45. [mArray1 removeObjectAtIndex:[mArray1 count]-1];
  46. NSLog(@"mArray1 = %@",mArray1);
  47. NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc", nil];
  48. [mArray1 removeObjectsInArray:array5];
  49. NSLog(@"mArray1 = %@",mArray1);
  50. //向数组内插入数组
  51. NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa", nil];
  52. [mArray2 addObject:@"bbbb"];
  53. NSLog(@"mArray2 = %@",mArray2);
  54. [mArray2 addObjectsFromArray:array4];
  55. NSLog(@"mArray2 = %@",mArray2);
  56. //替换元素
  57. [mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];
  58. NSLog(@"mArray2 = %@",mArray2);
  59. //遍历数组  常规方法:性能较低
  60. NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e", nil];
  61. int len = [array6 count];
  62. for (int i=0; i<len; i++) {
  63. NSString *value = [array6 objectAtIndex:i];
  64. NSLog(@"array6 %d content is %@",i,value);
  65. }
  66. //枚举遍历  相当于java中的增强for循环
  67. for (NSString *string in array6) {
  68. NSLog(@"array6 content is %@",string);
  69. }
  70. NSLog(@"-----------------------");
  71. //当不确定数组元素类型时
  72. for(id string in array6){
  73. NSLog(@"array6 content is %@",string);
  74. }

Objective-C中NSArray和NSMutableArray的基本用法的更多相关文章

  1. Objective-C中NSArray和NSMutableArray是如何使用的?

    Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象.但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才 ...

  2. NSArray和NSMutableArray相互转换, 以及常用方法-备

    有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutable ...

  3. [Objective-C] 008_Foundation框架之NSArray与NSMutableArray

    在Cocoa Foundation中NSArray和NSMutableArray 用于对象有序集合,NSArray和NSMutableArray类最大的区别是:NSArray是不可变,NSMutabl ...

  4. OC中Foundation框架之NSArray、NSMutableArray

    NSArray概述 NSArray是OC中的数组类 NSArray特点 )只能存放任意OC对象,并且是有顺序的 )不能存放非OC对象,比如int/float/double/char/enum/stru ...

  5. 浅谈Objective—C中的面向对象特性

    Objective-C世界中的面向对象程序设计 面向对象称程序设计可能是现在最常用的程序设计模式.如何开发实际的程序是存在两个派系的-- 面向对象语言--在过去的几十年中,很多的面向对象语言被发明出来 ...

  6. iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)

    iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的,      可以存放重复的元 ...

  7. IOS数组NSArray与NSMutableArray知识点

    此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...

  8. 理解Objective C 中id

    什么是id,与void *的区别 id在Objective C中是一个类型,一个complier所认可的Objective C类型,跟void *是不一样的,比如一个 id userName, 和vo ...

  9. NSArray、NSMutableArray基本用法

    NSArray.NSMutableArray基本用法 一.基本操作 初始化方法:1.init返回一个空数组 2.initWithArray从已有数组初始化 3.initWithContentsOfFi ...

随机推荐

  1. windbg 调试技巧

    技巧一:在加载名卸载的时候下断点 1. 加载某个DLL 的时候下断点的WinDBG 命令: sxe ld:[dll name] 然后按F5,进行刷新,再使用lmf 查看装载的Dll名称. 2.  卸载 ...

  2. ENVISAT卫星及ASAR数据介绍

    摘要: ENVISAT卫星是欧空局的对地观测卫星系列之一,于2002年3月1日发射升空.该卫星是欧洲迄今建造的最大的环境卫星.星上载有10种探测设备,其中4种是ER S-1/2所载设备的改进型,所载最 ...

  3. Ubuntu eclipse :An error has occurred. See the log file

    安装eclipse: sudo apt-get install eclipse-platform 调整java: sudo update-alternatives --config java 启动: ...

  4. 深入解析SSD中MLC与SLC的性能差异

    固态硬盘(Solid State Disk或Solid State Drive),也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘. 固态硬盘的接口规范和 ...

  5. VS中C++代码折叠

    用VS编写C#时,可以用#region name和#endregion,将代码分段,这样可以将代码折叠起来,当类过大,方法过长时,这种方法可以提高阅读效率,是人看着更舒服. 对于C/C++语言,#re ...

  6. 排序-java

    今天座右铭----每天的学习会让我们不断地进步! 往往面试中都会让我们用一种排序方法做一道排序题,下面我就罗列出快速排序.冒泡排序.插入排序.选择排序的java代码! 1.快速排序 public cl ...

  7. Div实现滚动条效果

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. 手机root初体验

    看到别人写的一些自己想知道的东西,顿时感到很有兴趣也很强大,固然做一个牛人有很多小粉丝是无比崇高的,可去往牛人的路上也不能少了自己~加油! 一 我来解释一下什么是ROOT以及原理 是不是要ROOT,是 ...

  9. SQL Server2008不允许修改表结构解决办法

    1.修改表结构遇到 2.点击取消 3.打开[工具]—[选项] 4.找到[Desiginers]标签,在右边找到“阻止保存要求重现创建表的更改”,取消勾选.

  10. SSIS: 把存储在数据库中的图片导出来

    Data Flow Task Step 1 获取二进制图片数据 )='C:\labs\Images\' SELECT ThumbNailPhoto,@path+ThumbnailPhotoFileNa ...