/*---------------------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. c3p0连接数据库

    <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-con ...

  2. -canOpenURL: failed for URL

    这在 Xcode 6.4 + iOS 8 时,是不会有的情况,原因是[为了强制增强数据访问安全, iOS9 默认会把所有从NSURLConnection . CFURL . NSURLSession发 ...

  3. BZOJ 2882 工艺 (字符串最小循环同构)

    题目大意: 给一个长度小于等于30W的数列,求其最小循环同构. 算法讨论: 在自动机长倍长走S后即可.注意这里面是数字,要用map存储. 今天才知道要开四倍长. Codes: #include < ...

  4. 指针参数的传递(节选 C++/C 高质量编程 林锐)

    指针参数是如何传递内存的 如果函数的参数是一个指针,不要指望用该指针去申请动态内存.示例7-4-1中,Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是 ...

  5. CDZSC_2015寒假新人(1)——基础 i

    Description “Point, point, life of student!” This is a ballad(歌谣)well known in colleges, and you mus ...

  6. 飘逸的python - 多条件排序及itemgetter的应用

    曾经客户端的同事用as写一大堆代码来排序,在得知python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相 ...

  7. python bottle 框架开发任务管理系统 V_1.0版

    经过1-2个星期的开发,现在开发了个半成品(UI现在比较烂,因为我的前端本来就很差,将就下吧),大概功能如下:用户功能(添加.删除.修改),添加部门功能,任务管理功能(添加.删除.修改,详细).项目管 ...

  8. Hibernate配置属性

    Hibernate配置属性 属性名 用途 hibernate.dialect 一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.c ...

  9. 手机天猫nba项目总结

    页面逻辑: 技术统计 比赛竞猜 猜你喜欢 进入页面时,获取服务器的当前时间.然后进行页面上的每秒递增.1.每隔n秒向后台发送请求,获取最新比分信息,球队图像,球员信息.然后更改页面.2.每隔n秒向后台 ...

  10. 从Qt4到Qt5的,主要的进化有三(对于QtWidget的精简和优化会很有限)

    从Qt4到Qt5的,主要的进化有三:1 语言的进化,原来是基于C++(qtwidget)和XML(.ui),现在添加了QML(QtQuick)+JS(v8)的架构.2 绘图系统的进化,原先基于QPai ...