[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);
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。
电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗?
求知若饥,虚心若愚。
当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。