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

1.1 转化:NSMutableArray

1
NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array]; // array为NSMutableArray类型

1.2 常用方法

不可变数组对象:
[array count] : 得到这个对象数组的长度。
[array objectAtIndex 0]: 传入数组脚标的id 得到数据对象。
[arrayWithObjects: …] :向数组对象初始化赋值。这里可以写任意对象的指针,结尾必须使用nil。
 
+(id)arrayWithObjects:obj1,obj2,…nil 创建一个新的数组,obj1,obj2……是他的元素对象,以nil对象结尾
-(BOOL)containsObject:obj 确定数组中是否包含对象obj
-(NSUInteger)count 返回数组元素个数
-(NSUInteger)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,则需要先创建一个临时文件
 

2.NSMutableArray :

2.1 转化: NSArray

1
NSArray *array = [NSArray arrayWithArray:mutableArray]; // mutableArray为NSMutableArray类型

2.2 常用方法

NSMutableArray arrayWithCapacity:10] :初始化可变数组对象的长度,如果后面代码继续添加数组超过长度10以后NSMutableArray的长度会自动扩充,所以不用担心数组越界。
[array addObject:…] : 向可变数组尾部添加数据对象。
[array addObjectsFromArray:..] :向可变数组尾部添加一个数组对象。

array 创建一个空数组
+(id)arrayWithCapacity:size 创建一个数组,指定容量为size
-(id)initWithCapacity:size 初始化一个新分配的数组,指定容量为size
-(void)addObject:obj 将对象obj添加到数组末尾
-(void)insertObject:obj atIndex:i 将对象 obj 插入到索引为 i 的位置
-(void)replaceObject:obj atIndex:i 将数组中索引为 i 处的元素用obj 置换
-(void)removeObject:obj 从数组中删除所有是 obj 的对象
-(void)removeObjectAtIndex:i 从数组中删除索引为 i 的对像
-(void)sortUsingSelector:(SEL)selector 用 selector 只是的比较方法将数组排序

最新文章

  1. git代码冲突解决
  2. 测试博文中添加可执行JS代码
  3. PHP实现简易的模板引擎
  4. iOS 网络与多线程--4.同步Post方式的网络请求
  5. S3C6410嵌入式应用平台构建(三)
  6. Android KitKat 4.4 Wifi移植之Wifi driver
  7. poj2236(并查集)
  8. 4、BufferedIn(out)putStream--->字节输入/输出流的缓冲区类(高效类:高效率读写)
  9. Android - 读取XML文件中的数据
  10. JAVA之旅(二十一)——泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符
  11. 潭州课堂25班:Ph201805201 tornado 项目 第五课 增加用户系统-用户中心(课堂笔记)
  12. js如何判断数字是否有小数
  13. 阿里云Centos+Django+Nginx+uWSGI
  14. SQL Server 2012还原一直卡在ASYNC_IO_COMPLETION浅析
  15. BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点
  16. mysql找到数据的存储位置
  17. TZOJ:玛祖游戏
  18. 计算机基础知识 一 Basic knowledge of computers One
  19. swift - UIScrollView 的使用
  20. cpu真实核数

热门文章

  1. Oracle 提示密码过期问题:the password will expire
  2. android slidingview
  3. poj 3792 Area of Polycubes
  4. IC卡接口芯片TDA8007的读写器设计
  5. win7系统如何恢复administrator用户
  6. 用Update Select批量更新某一字段的值[可以跨库]
  7. javascript实现的手风琴折叠菜单效果
  8. Java_.jar .war .ear 详解
  9. iOS中AutoLayer自动布局流程及相关方法【转】
  10. NSString属性什么时候用copy,什么时候用strong?【转】