------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
一. NSArray
1.NSArray是OC中的数组类,开发中尽量使用NSArray替代C语言中的数组
2.NSArray的创建
3.NSArray的使用注意:
1).NSArray直接使用NSLog()作为字符串输出时是小括号括起来的形式。
2).NSArray中不能存储nil,因为NSArray认为nil是数组的结束(nil是数组元素结束的标记),nil就是0,0也是基本数据类型,不能存放到 NSArray中
3).NSArray *array = [NSArray array]; //这样的数组永远是空的,不可能向其中增加值。(不可变性)
4).只能存放任意OC对象,并且是有顺序的
5).不能存储非OC对象,比如int\float\double\char\enum\struct等
6).它是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素
4.NSArray 的常见用法
5.用简化的方式定义数组
1).格式:@[数组元素];
例:NSArray *arr =@[@"1",@"one",@"3",@4,@"ONE"];
2).用简化的方式访问数组
例:NSString *str =arr[1]; c语言形式的数组元素访问
6.对数组进行遍历
7.把NSArray中的内容写到文件里
例:NSArray *arr=[NSArray arrayWithObjects:@"a",@"b",@1,@"c" ,nil];
if [arr writeToFile:@"/Users/liu liu/Desktop/arr .xml"atomically:YES]{
NSLog(@"写入成功");
}
8.读取文件中的内容
NSArray *arr = [NSArrayarrayWithContentsOfFile:@"/Users/liwei/Desktop/arr.plist"];
NSLog(@"%@",arr);
9.NSArray与字符串
二.NSMutableArray
1.NSMutableArray是NSArray的子类,NSMutableArray是可变的, 随时可以往里面添加\更改\删除元素
2.数组的创建
3.NSMutableArray及基本使用
三.集合对象的内存管理
1.当一个对象加入到集合中,那么该对象的引用计数会+1,当集合被销毁的时候,集合会向集合中的元素发送release消息
2.集合对象内存管理原则:
1).当调用alloc、new、copy(mutableCopy)方法产生一个新对象的时候,就必须在最后调用一 次release或者autorelease
2).当调用retain方法让对象的计数器+1,就必须在最后调用一次release或者autorelease
3.集合的内存管理细节
1). 当把一个对象添加到集合中时,这个对象会做了一次retain操作,计数器会+1
2). 当一个集合被销毁时,会对集合里面的所有对象做一次release操作,计数器会-13> 当一个对象从集合中移除时,这个对象会一次release操作,计 数器会-1
4.普遍规律
1).如果方法名是add\insert开头,那么被添加的对象,计数器会+1
2).如果方法名是remove\delete开头,那么被移除的对象,计数器-1