NSArray和NSMutableArray相互转换, 以及常用方法-备
Posted qigemingnan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSArray和NSMutableArray相互转换, 以及常用方法-备相关的知识,希望对你有一定的参考价值。
有时候项目中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 只是的比较方法将数组排序 |
以上是关于NSArray和NSMutableArray相互转换, 以及常用方法-备的主要内容,如果未能解决你的问题,请参考以下文章
c# 中 NSMutableDictionary()、NSMutableArray()、NSArray 和 NSDictionary 的等价物是啥?
iPhone SDK 中的 NSMutableArray、NSArray、NSString 内存泄漏
Objective-C中NSArray和NSMutableArray是如何使用的?
如何在 NSMutableArray 中选择特定索引并存储在 nsarray [关闭]