NSArray 可变数组

一、NSArray是静态数组,创建后数组内容及长度不能再修改。

实例:

//用arrayWithObjects初始化一个不可变的数组对象。
//初始化的值之间使用逗号分开,以nil结束。
NSArray6 *city = [NSArray arrayWithObjects:@"上海",@"广州",@"重庆",nil]; for(int i=0; i < [city count];i++){
NSLog(@"%@",[city objectAtIndex:i]);
}

NSArray常用方法:

+(id)arrayWithObjects:obj1,obj2,...nil             //创建一个新的数组,obj1,obj2,.., 以nil结束。
-(BOOL)containsObject:obj //确定数组中是否包含对象obj
-(NSUInterger)count //数组中元素的个数
-(NSUInterger)indexOfObject:obj //第一个包含obj元素的索引号
-(id)ObjectAtIndex:i //存储在位置i的对象
-(void)makeObjectsPerformSelector:(SEL)selector //将selector提示的消息发送给数组中的每一个元素
-(NSArray*)sortedArrayUsingSelector:(SEL)selector //根据selector提定的比较方法对数组进行排序
-(BOOL)writeToFile:path atomically:(BOOL)flag //将数组写入指定的文件中。如果flag为YES,则需要先创建一个临时文件 二、NSMutableArray是动态数组,可以动态增加数组中的元素,同样NSMutableArray是NSArray的子类。
实例:
//用arrayWithCapacity创建一个长度为5的动态数组
NSMutableArray *nsma = [MSMutableArray arrayWithCapacity:5];
for(int i=0;i<=50;i++) {
if( i%3 == 0 ) {
[nsma addObject:[NSNumber numberWithInteger:i]]; //用addObject给数组nsma增加一个对象
}
} //输出数组中的元素
for(int i=0;i<[nsma count];i++) {
NSLog(@"%li",(long)[[nsma objectAtIndex] integerValue]);
}

NSMutableArray不可变数组

NSMutableArray常用方法:

+(id)array                                    //创建一个空数组
+(id)arrayWithCapacity:size //创建一个容量为size的数组
-(id)initWithCapacity:size //初始化一个新分配的数,指定容量为size
-(void)addObject:obj //将obj增加到数组中
-(void)insertObject:obj atIndex:i //将obj插入数据的i元素
-(void)replaceObjectAtIndex:i withObject:obj //用obj替换第i个索引的对象
-(void)removeObject:obj //从数组中删除所有是obj的对象
-(void)removeObjectAtIndex:i //从数组中删除索引为i的对象
-(void)sortUsingSelector:(SEL)selector //用selector指示的比较方法进行排序

NSArray 跟 NSMutableArray 使用 区别的更多相关文章

  1. NSArray和NSMutableArray

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

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

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

  3. IOS数组NSArray与NSMutableArray知识点

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

  4. NSArray、NSMutableArray基本用法

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

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

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

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

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

  7. NSArray 与 NSMutableArray 的排序

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

  8. NSArray、NSMutableArray和NSMutableDictionary的用法

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

  9. NSArray和NSMutableArray的常用方法 (转)

    NSArray和NSMutableArray的常用方法 (转) (2013-09-06 15:13:46) 标签: it 分类: ios编程 初始化方法:   1.init返回一个空数组    2.i ...

随机推荐

  1. WordPress A Forms插件HTML注入漏洞和跨站请求伪造漏洞

    漏洞名称: WordPress A Forms插件HTML注入漏洞和跨站请求伪造漏洞 CNNVD编号: CNNVD-201308-281 发布时间: 2013-08-20 更新时间: 2013-08- ...

  2. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  3. -_-#【邮件】qq邮箱不显示图片

    干货分享之邮件营销QQ邮箱IP白名单服务申请

  4. Light OJ 1050 - Marbles(概率DP)

    题目大意: 一个包裹里有蓝色和红色的弹珠,在这个包裹里有奇数个弹珠,你先走, 你先从背包里随机的拿走一个弹珠,拿走每个弹珠的可能性是一样的.然后Jim从背包里拿走一个蓝色的弹珠,如果没有蓝色的弹珠让J ...

  5. 【转】android 完全退出应用程序

    原文网址:http://www.yoyong.com/archives/199 android退出应用程序会调用android.os.Process.killProcess(android.os.Pr ...

  6. Spark SQL利器:cacheTable/uncacheTable

    Spark相对于Hadoop MapReduce有一个很显著的特性就是“迭代计算”(作为一个MapReduce的忠实粉丝,能这样说,大家都懂了吧),这在我们的业务场景里真的是非常有用.   假设我们有 ...

  7. u-boot中分区和内核MTD分区关系

    一.u-boot中环境变量与uImage中MTD的分区关系 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 一般我们只需要分3-4 ...

  8. 关于android屏幕适配

    好吧 我承认被美工虐的够呛,而且美工他么是个男的!一点也不美, 废话不多说 急着赶路, 之前不怎么重视 直到遇见这个美工给我一套1080x1920的 图,没错 就一套 1dp=3px没错的啊 问题是就 ...

  9. HDOJ/HDU 2562 奇偶位互换(交换位置~)

    Problem Description 给定一个长度为偶数位的0,1字符串,请编程实现串的奇偶位互换. Input 输入包含多组测试数据: 输入的第一行是一个整数C,表示有C测试数据: 接下来是C组测 ...

  10. [Java] Java IO Files

    Files 使用 FileInputStream 或 FileReader 可以用于读入文件,前者基于二进制,后者基于文本.使用它们不需要读取整个文件,但是只能按照它们存储的顺序,依次读取字节,或字符 ...