[OC Foundation框架 - 9] NSMutableArray

可变的NSArray,可以随意添加OC对象

 
1.创建
复制代码
 1 void arrayCreate()
 2 {
 3     NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"];
 4    
 5     [array addObject:@"2"];
 6     [array addObject:@"3"];
 7    
 8     [array removeObject:@"2"];
 9     NSLog(@"%@", array);
10 }
复制代码
 
NSMutableArray 不能使用@[]创建
 
 
2.内存管理
当Array release的时候,里面的元素也会release一次
复制代码
 1 void memoryManage()
 2 {
 3     NSMutableArray *array = [NSMutableArray array];
 4     Student *stu1 = [Student initWithAge:12];
 5     Student *stu2 = [Student initWithAge:42];
 6    
 7     //Will retain stu1 one time automatically
 8     [array addObject:stu1];
 9     [array addObject:stu2];
10    
11     NSLog(@"add--> stu1: %zi", [stu1 retainCount]);
12    
13     //Will release stu1 one time automatically
14     [array removeObject:stu1];
15     NSLog(@"remoe--> stu1: %zi", [stu1 retainCount]);
16    
17     NSLog(@"%@", array);
18    
19     //All element will be released one time
20     [array release];
21 }
复制代码
 
3.替换元素
1 void replaceArray()
2 {
3     NSMutableArray  *array = [NSMutableArray arrayWithObjects:@"1", @"2", @"3", nil];
4     [array replaceObjectAtIndex:2 withObject:@"a"];
5     NSLog(@"%@", array);
6 }
 
4.排序
1 void arraySort()
2 {
3     NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1", @"3", @"3", nil];
4     [array sortedArrayUsingSelector:@selector(compare:)];
5     NSLog(@"%@", array);
6 }
 
5.删除元素
复制代码
1         NSMutableArray *a = [NSMutableArray array];
2         [a addObject:@1];
3         [a addObject:@2];
4         [a removeObject:@1];
5         NSLog(@"%@", a);
6         [a removeAllObjects];
7         NSLog(@"%@", a);
复制代码
posted @ 2015-05-18 21:03  *新星月-倪新生*  阅读(181)  评论(0编辑  收藏  举报