NSMutableArray
NSMutableArray 是一个可变数组,是NSArray的子类,但是不可以添加空值
创建NSMutableArray的方法
+(id)arrarWithCapacity:(NSInteger)numItems
-(id)initWithCapacity:(NSInteger)numItems
也可以用创建NSArray的方法创建NSMutableArray
当一个元素被加到集合中时,会执行一次retain操作;当一个元素从集合中移除时,会执行一次release操作,当集合被销毁时(dealloc),集合里面所有元素都执行一次release操作(这个原则同样适用于其它集合:NSDictionary\NSSet)
void arrayCreate(){
NSMutableArray *array=[NSMutableArray arrayWithObject:@“1”];
//Add elements
[array addObject:@”2”];
[array addObject:@”3”];
//removement
[array removeObject:@”2”];
[array removeLastObjects];
[array removeallobjects];

NSLog(@”%@”,array);
}
#pragma mark memory management
Student.h
@interface Student:NSObject
@property (nonatomic,assign) int age;
+(id)studentWithAge: (int) age;
@end
Student.m
@implemtation Student
+(id)studentWithAge: (int) age{
Student *stu= [[[Student alloc]init]autorelease];
stu.age=age;
return stu;
}
-(void)dealloc{
NSLog(@”age=%i is destroied”,_age);
[super dealloc];
}
@end
main.m
#import ”Student.h”
void arraymemory(){
NSMutableArray *arry=[NSMutableArray array];
Student *stu1=[Student studentWithAge:10];
Student *stu2=[Student studentWithAge:20];
[array addObject:stu1];
[array addObject:stu2];
NSLog(@”%zi”,[stu1 retainCount]);
//stu1,stu2 counter 2
[array removeObject:stu1];//stu1 counter1, stu2 counter 2
NSLog(@”%zi”,[stu1 retainCount]);
}
设置集合元素
-(void)setArray:(NSArry *)otherArray
添加一个元素
-(void)addobject:(id)anObject
添加otherArray的全部元素到集合中
-(void)addObjectsFromArray:(NSArray *)otherArray
插入一个对象,在Index地方插入一个对象
-(void)insertObjects:(id)anObject atIndex:(NSUInteger)index
在Indexs指定位置分别插入Objects中的元素
-(void)insertObjects;(NSArray *) objects atIndexs:(NSInsexSet *)indexs
#pragma mark replace elements
void arrayReplace(){
NSMutableArray *array=[NSMutableArray arrayWithObjects:@“1”,@”2”,@”3”,nil];
[array replaceObjectAtIndex:1 withObject:@”4”];//143
}
#pragma mark sort
void arrayort(){
NSMutableArray *array=[NSMutableArray arrayWithObjects:@“1”,@”3”,@”2”,nil];
[array sortUsingSelector:(compare:)];//因为是可变数组所以没有返回值
NSLog(@”%@”,array);

}
NSMutableArray的更多相关文章
- 可变数组NSMutableArray
//创建一个空的可变数组 NSMutableArray *array = [NSMutableArray array]; //向数组里面添加对象 [array addObject:@"< ...
- Objective - C NSArray不可变数组和NSMutableArray可变数组
OC中存储数据最常用 的两个容器就是数组和字典,而作为最常用的,应该了解这所有的特点,及用法. OC中的数组是一个容量,有序的管理了一系列元素,并且存放在数组里的元素,必须是对象类型. 不可变数组,见 ...
- iOS阶段学习第15天笔记(NSArray与NSMutableArray 数组)
iOS学习(OC语言)知识点整理 一.OC中的数组 1)数组:也是一个对象,数组中存放的是对象的地址,可以存放任意类型对象的地址,只能是对象不能是具体的数值,数组是有序的, 可以存放重复的元 ...
- objective-c系列-NSMutableArray
******************************************** // 可变数组构造方法 // 下边两句的定义都是不可变的 // NSMutableArray *mar ...
- NSArray与NSMutableArray 数组与可变数组
1.NSArray 是一个父类,NSMUtableArray是其子类,他们构成了OC的数组.2.NSArray的创建NSArray * array = [[NSArray alloc]initWith ...
- Foundation框架—— 数组 (NSArray NSMutableArray )
基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4 ...
- OC第三节——NSArray和NSMutableArray
1.OC数组和c数组的区别 C语言的数组: 相同类型变量的有序结合. 类型:可以是简答数据类型.构造数据类型 int a[10 ...
- IOS - Objective-C NSArray和NSMutableArray的详解 使用
原文地址:http://blog.csdn.net/totogo2010/article/details/7729377 Objective-C的数组比C++,Java的数组强大在于,NSArray保 ...
- Objective-C( Foundation框架 一 数组(NSMutableArray))
NSMutableArray:可变数组 NSMutableArray是NSArray的子类 创建NSMutableArray数组对象 添加数组元素: // 创建数组 NSMutableArray *a ...
- IOS数组NSArray与NSMutableArray知识点
此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...
随机推荐
- sping+redis实现消息队列的乱码问题
使用spring支持redis实现消息队列,参考官方样例:https://spring.io/guides/gs/messaging-redis/ 实现后在运行过程中发现消费者在接收消息时会出现乱码的 ...
- 2 webpack 4 加vue搭建开发环境最终配置
1 package.json { "name": "c", "version": "1.0.0", "desc ...
- 6.NIO2-Path、Paths、Files
NIO.2 jdk1.7中,java对 NIO 极大的扩展,主要增强的是对文件处理 和 文件系统特性的支持 关于其中一些API的使用 public class TestNIO_2_Path_File ...
- ASE19团队项目 beta阶段 model组 scrum7 记录
本次会议于12月10日,19时30分在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Jiyan He, Lei Chai, Linfeng Qi, Xueqing Wu, Kun ...
- Spring3.2.2中相关Jar包的作用
今天在看Spring的源码的时候不知道从什么地方开启应该合适,因为不太清楚实现类所在的具体Jar包,就从网上找了些,可是网上有的说的是不清不楚,甚至是有些错误的,所以就把相关Jar包的大致作用给整理了 ...
- c#通用语言运行时CLR
- VMware Workstation 14 安装使用 (小白安装使用教程)
在一台 PC 上运行多个操作系统,借助 VMware Workstation Pro,您可以在同一台 Windows 或 Linux PC 上同时运行多个操作系统.创建真实的 Linux 和 Wind ...
- SNMP OID列表
zabbix的snmp监控还没开始讲,不过先给大家列一些snmp常用的一些OID,比如cpu.内存.硬盘什么的.先了解这些,在使用snmp监控服务器. 系统参数(1.3.6.1.2.1.1) OID ...
- [杭电oj][1005]Number Sequence
sky同学在努力地刷题..,在这题卡住了,于是一起研究了一下... 这题本身挺简单的,(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) m ...
- bp算法推导过程
参考:张玉宏<深度学习之美:AI时代的数据处理与最佳实践>265-271页