NSArray 跟 NSMutableArray 使用 区别
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 使用 区别的更多相关文章
- NSArray和NSMutableArray
//1. NSArray EOItems *eOItems = [[EOItems alloc] init]; eOItems.ID = [NSNumber numberWithInt:]; NSAr ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...
- NSArray、NSMutableArray基本用法
NSArray.NSMutableArray基本用法 一.基本操作 初始化方法:1.init返回一个空数组 2.initWithArray从已有数组初始化 3.initWithContentsOfFi ...
- 15.Object-C--浅谈Foundation框架OC数组NSArray与NSMutableArray
昨天总结了一下NSString与NSMutableString,今天我在这里总结一下NSArray与NSMutableArray. NSArray数组是:不可变数组. nil 是数组元素结束的标记.O ...
- NSArray和NSMutableArray相互转换, 以及常用方法-备
有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码1.NSArray 1.1 转化:NSMutableArray 1 NSMutableArray *mutable ...
- NSArray 与 NSMutableArray 的排序
由于集合的使用过程中,经常需要对数组进行排序操作,此博客用于总结对在OC中对数组排序的几种方法 1.当数组中存放的是Foundation框架中提供的对象时,直接使用 compare:方法 如:NSSt ...
- NSArray、NSMutableArray和NSMutableDictionary的用法
转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...
- NSArray和NSMutableArray的常用方法 (转)
NSArray和NSMutableArray的常用方法 (转) (2013-09-06 15:13:46) 标签: it 分类: ios编程 初始化方法: 1.init返回一个空数组 2.i ...
随机推荐
- Haskell函数的语法
本章讲的就是 Haskell 那套独特的语法结构,先从模式匹配开始.模式匹配通过检查数据的特定结构来检查其是否匹配,并按模式从中取得数据. 在定义函数时,你可以为不同的模式分别定义函数本身,这就让代码 ...
- 14.8.2 Role of the .frm File for InnoDB Tables InnoDB 表得到 .frm文件的作用
14.8.2 Role of the .frm File for InnoDB Tables InnoDB 表得到 .frm文件的作用 Vsftp:/data01/mysql/zjzc# ls -lt ...
- .classpath 和.project文件含义
.classpath文件是在建立eclipse工程时创建的描述工程配置情况的文件,包括: * 源码路径 * 编译结果的输出路径 * 所使用的外部库的路径 -----------------下面是 ...
- xlslib安装, aclocal-1.13: command not found, 安装升级autoconf-2.65.tar.gz, automake-1.13.tar.gz两个文件
问题1: $ make CDPATH="${ZSH_VERSION+.}:" && cd . && aclocal-1.13 -I m4 /bin/ ...
- xml中1字节的UTF-8序列的字节1无效([字符编码]Invalid byte 1 of 1-byte UTF-8 sequence终极解决方案)
今天在eclipse中编写pom.xml文件时,注释中的中文被eclipse识别到错误:Invalid byte 1 of 1-byte UTF-8 sequence,曾多次遇到该问题,问题的根源是: ...
- ☀【HTML5】Modernizr
Modernizr 使用Modernizr探测HTML5/CSS3新特性
- Linux学习笔记12——Unix中的进程
通过调用fork和exec函数都能创建新的进程,但两者有着本质的区别:fork函数拷贝了父进程的内存映像,而exec函数用用新的映像来覆盖调用进程的进程映像的功能. 一 fork函数 #includ ...
- yarn安装部署
在HDFS HA(http://www.cnblogs.com/yinchengzhe/p/5140117.html)基础上进行yarn的安装. 1.配置yarn-site.xml 参数详情参考 ht ...
- python_list和tuple互转
Python中,tuple和list均为内置类型, 以list作为参数将tuple类初始化,将返回tuple类型 tuple([1,2,3,4]) list->tuple 以tuple做为参数, ...
- winfrom 截屏、抓屏 分类: WinForm 2014-08-01 13:02 198人阅读 评论(0) 收藏
截取全屏代码: try { this.Hide(); Rectangle bounds = Screen.GetBounds(Screen.GetBounds(Point.Empty)); Bitma ...