NSArray和NSMutableArray相互转换, 以及常用方法-备
有时候项目中NSArray和NSMutableArray需要相互转化,下面给出相关代码
1.NSArray
1.1 转化:NSMutableArray
|
1
|
NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:array]; // array为NSMutableArray类型 |
1.2 常用方法
| +(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相互转换, 以及常用方法-备的更多相关文章
- NSArray,NSMutableArray的一些常用方法
不可变数组 ——NSArray 常用的初始化一个数组: NSArray *array1 = [[NSArray alloc] init]; NSArray *array2 = ...
- NSArray和NSMutableArray的常用方法 (转)
NSArray和NSMutableArray的常用方法 (转) (2013-09-06 15:13:46) 标签: it 分类: ios编程 初始化方法: 1.init返回一个空数组 2.i ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...
- NSArray和NSMutableArray
//1. NSArray EOItems *eOItems = [[EOItems alloc] init]; eOItems.ID = [NSNumber numberWithInt:]; NSAr ...
- 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 的排序
由于集合的使用过程中,经常需要对数组进行排序操作,此博客用于总结对在OC中对数组排序的几种方法 1.当数组中存放的是Foundation框架中提供的对象时,直接使用 compare:方法 如:NSSt ...
- NSArray、NSMutableArray和NSMutableDictionary的用法
转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...
随机推荐
- objc runtime 动态增加属性
objective-c中,有类别可以在不修改源码的基础上增加方法:近排在看别人的开源代码时,发现还可以动态增加属性.而且是在运行时,太牛B了. 使用运行时库,必须要先引入 objc/runtime.h ...
- linux中screen命令的用法
http://www.9usb.net/201002/linux-screen-mingling.html 作为linux服务器管理员,经常要使用ssh登陆到远程linux机器上做一些耗时的操作.也许 ...
- java实现双端链表
PS:双端链表(持有对最后一个节点的引用,允许表尾操作与表头操作等效的功能) public class DoubleLinkedList { //节点类 static class Node { pub ...
- 测试一下PHP官方的新一代PHP加速插件ZendOpcache的性能及配置
过程不表,都比较顺利 参考如下URL: http://www.lvtao.net/server/ZendOpcache.html 大家知道目前PHP的缓存插件一般有三个:APC.eAccelerato ...
- MongoDB再实测
不用安装,直接解压.. 这些都不是最主要的,,,倒是TOMCAT和NGINX还需要更深入的了解... http://jingyan.baidu.com/article/acf728fd3d398bf8 ...
- 超强Altium Designer焊盘为梅花状连接,过孔为直接连接的方法
AltiumDesigner6焊盘为梅花(或十字)状连接,过孔为直接连接的方法: 一.完成后效果 二.PCB规则设置(PCBRULES) 三.添加IsVia+ 四.添加InNamedPolygon() ...
- 智能卡 ATR解析
如果终端不支持IC卡支持的其它传输协议以及传输参数值,IC卡应该有能力用基本ATR定义的模式和终端进行交互. 终端如果无法满足IC卡回送ATR中定义的传输模式,将发送一个热复位信号,或将IC卡置为静止 ...
- centos下httpd 启动失败的解决办法
[root@csit yang]# service httpd start Starting httpd: [FA ...
- cf437B The Child and Set
B. The Child and Set time limit per test 1 second memory limit per test 256 megabytes input standard ...
- hdu3401:单调队列优化dp
第一个单调队列优化dp 写了半天,最后初始化搞错了还一直wa.. 题目大意: 炒股,总共 t 天,每天可以买入na[i]股,卖出nb[i]股,价钱分别为pa[i]和pb[i],最大同时拥有p股 且一次 ...