/*---------------------NSArray---------------------------*/
//创建数组
NSArray *array1 = [NSArray arrayWithObject:@"1"];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
NSArray *array3 = [NSArray arrayWithArray:array2];
NSLog(@"array1 = %@",array1);
NSLog(@"array2 = %@",array2);
NSLog(@"array3 = %@",array3); //获取数组内数据个数
int count = [array2 count];
NSLog(@"array2 size is %d",count); //访问数组内的数据
NSString *str1 = [array2 objectAtIndex:0];
NSLog(@"array2 first content is %@",str1); //数组中插入数据 返回新的数组
NSArray *array4 = [array3 arrayByAddingObject:@"4"];
NSLog(@"array4 = %@",array4); //数组内的数据以制定字符连接
NSString *str2 = [array4 componentsJoinedByString:@","];
NSLog(@"str2 = %@",str2); //判断数组中是否包含某对象
BOOL b1 = [array4 containsObject:@"4"];
BOOL b2 = [array4 containsObject:@"5"];
NSLog(@"b1 = %d,b2 = %d",b1,b2); //取数组内制定对象的索引
int index = [array4 indexOfObject:@"4"];
NSLog(@"index = %d",index); NSString *str3 = [array4 lastObject];
NSLog(@"array4 last object is %@",str3); /*-----------------------可变数组NSMutableArray-----------------------------------------*/
//初始化数组 指定数组长度 但可变
NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5]; //向数组中添加元素
[mArray1 addObject:@"aaaa"];
[mArray1 addObject:@"cccc"];
NSLog(@"mArray1 = %@",mArray1); //向指定位置插入元素
[mArray1 insertObject:@"bbbb" atIndex:1];
[mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];
[mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];
NSLog(@"mArray1 = %@",mArray1); //移除元素
[mArray1 removeObject:@"eeee"];
NSLog(@"mArray1 = %@",mArray1);
[mArray1 removeObjectAtIndex:[mArray1 count]-1];
NSLog(@"mArray1 = %@",mArray1);
NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc", nil];
[mArray1 removeObjectsInArray:array5];
NSLog(@"mArray1 = %@",mArray1); //向数组内插入数组
NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa", nil];
[mArray2 addObject:@"bbbb"];
NSLog(@"mArray2 = %@",mArray2);
[mArray2 addObjectsFromArray:array4];
NSLog(@"mArray2 = %@",mArray2); //替换元素
[mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];
NSLog(@"mArray2 = %@",mArray2); //遍历数组 常规方法:性能较低
NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e", nil];
int len = [array6 count];
for (int i=0; i<len; i++) {
NSString *value = [array6 objectAtIndex:i];
NSLog(@"array6 %d content is %@",i,value);
} //枚举遍历 相当于java中的增强for循环
for (NSString *string in array6) {
NSLog(@"array6 content is %@",string);
} NSLog(@"-----------------------"); //当不确定数组元素类型时
for(id string in array6){
NSLog(@"array6 content is %@",string);
}

  

OC——NSArray和NSMutableArray的更多相关文章

  1. 15.Object-C--浅谈Foundation框架OC数组NSArray与NSMutableArray

    昨天总结了一下NSString与NSMutableString,今天我在这里总结一下NSArray与NSMutableArray. NSArray数组是:不可变数组. nil 是数组元素结束的标记.O ...

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

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

  3. OC NSArray 数组

    # OC NSArray 数组 NSArray常用方法 获取数组中第一位元素 array.firstObject 获取数组中最后一个元素 array.lastObject 获取数组中指定索引下标的元素 ...

  4. NSArray 与 NSMutableArray 的排序

    由于集合的使用过程中,经常需要对数组进行排序操作,此博客用于总结对在OC中对数组排序的几种方法 1.当数组中存放的是Foundation框架中提供的对象时,直接使用 compare:方法 如:NSSt ...

  5. IOS数组NSArray与NSMutableArray知识点

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

  6. NSArray和NSMutableArray

    //1. NSArray EOItems *eOItems = [[EOItems alloc] init]; eOItems.ID = [NSNumber numberWithInt:]; NSAr ...

  7. NSArray、NSMutableArray基本用法

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

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

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

  9. NSArray、NSMutableArray和NSMutableDictionary的用法

    转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...

随机推荐

  1. php的一些特殊用法

    php ruturn的另一个用法 database.php <?php return array ( 'hostname' => 'localhost', 'database' => ...

  2. C#.NET 各种连接字符串

    C#.NET 各种连接字符串 近期连接数据库时,经常忘记连接字符串是如何的格式,现在此备注 此文章引用http://www.cnblogs.com/zhiqiang-imagine/archive/2 ...

  3. 0122——UITabBarController

    UITabBarController是IOS中很常用的一个viewController.UITabBarController通常作为整个程序的rootViewController,而且不能添加到别的c ...

  4. CDZSC_2015寒假新人(2)——数学 G

    G - G Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status ...

  5. Ext JS中Button的一般使用

    Ext JS中Button按钮的显示,以及按钮的部分事件 一.属性 renderTo:将当前对象所生成的HTML对象存放在指定的对象中 text:得到按钮名称 minWidth:按钮最小宽度 hidd ...

  6. 通过js引入当前所需要的js,css等

    在我们web前端页面中经常会用到许多外部的js,css文件,那么问题来了,怎样才能一次性引入? 通过js便可实现 走码: //创建一个init.js文件 var jsUrls = "js/j ...

  7. 蜘蛛牌(hdu 1584 DFS)

    蜘蛛牌 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  8. pm2安装及常用命令

    安装:npm install -g pm2 启动程序:pm2 start <app_name|id|all> 列举进程:pm2 list 退出程序:pm2 stop <app_nam ...

  9. Redis应用场景-整理

    1.  MySql+Memcached架构的问题 Memcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现. ...

  10. winform datagridview 添加行号。

    private void dataGridView_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) { private ...