Foundation框架(8)——NSMutableArray的增删改查、内存管理、排序
2015-01-20 17:54
344 查看
// // main.m // Foundation框架(8) // // Created by XinYou on 15-1-20. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import #import "Student.h" #pragma mark 可变数组的增删改查 void arrayCRUD(){ NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"]; // 增 [array addObject:@"2"]; [array addObject:@"3"]; // 删 // [array removeObject:@"2"]; // [array removeLastObject]; // [array removeObjectAtIndex:1]; // 查 NSString *str = [array objectAtIndex:1]; NSLog(@"str = %@", str); // 改 [array replaceObjectAtIndex:2 withObject:@"hehe"]; NSLog(@"array = %@", array); } #pragma mark 可变数组的内存管理 void arrayMomery(){ NSMutableArray *array = [[NSMutableArray alloc] init]; // stu1:1 Student *stu1 = [[Student alloc] init]; stu1.age = 10; // stu2:1 Student *stu2 = [[Student alloc] init]; stu2.age = 20; // 对被添加的元素做一次retain操作,计数器+1 [array addObject:stu1]; // stu1:2 [array addObject:stu2]; // stu2:2 NSLog(@"add->stu1:%zi", [stu1 retainCount]); // 对被删除的元素做一次release操作,计数器-1 [array removeObject:stu1]; // stu1:1 NSLog(@"remove->stu1:%zi", [stu1 retainCount]); // 释放学生 [stu1 release]; // stu1:0 [stu2 release]; // stu2:1 // 当数组被释放的时候,会对所有的元素都做一次release操作 [array release]; // stu2:0 } #pragma mark 可变数组的排序 void arraySort(){ NSMutableArray *array = [NSMutableArray arrayWithObjects:@"k", @"b", @"a", @"z", nil]; // 类似于不可变数组的排序,但是可变数组的排序是没有返回值的。 // 其他的使用block排序、高级排序等,跟不可变数组也是类似的。 [array sortUsingSelector:@selector(compare:)]; NSLog(@"array = %@", array); } int main(int argc, const char * argv[]) { @autoreleasepool { // arrayCRUD(); // arrayMomery(); arraySort(); } return 0; } // // Student.h // Foundation框架(8) // // Created by XinYou on 15-1-20. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import @interface Student : NSObject @property (nonatomic,assign) int age; @end // // Student.m // Foundation框架(8) // // Created by XinYou on 15-1-20. // Copyright (c) 2015年 vxinyou. All rights reserved. // #import "Student.h" @implementation Student - (void)dealloc{ NSLog(@"age = %i 的Student被销毁了", self.age); [super dealloc]; } @end
相关文章推荐
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <四> NSMutableArray
- 黑马程序员—Foundation框架之NSArray与NSMutableArray
- 黑马程序员——Foundation框架NSArray和NSMUtableArray的介绍及使用
- 【黑马程序员】OC-Foundation框架—NSArray和NSMutableArray
- Foundation框架(NSArray、NSMutableArray)
- 20 Foundation框架之NSAarry和NSMutableArray
- Foundation框架—数组 NSArray -NSMutableArray
- 黑马程序员——Foundation框架——NSMutableArray常用方法
- 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <四> NSMutableArray
- 黑马程序员-IOS学习笔记 Foundation框架下 NSArray的方法 NSMutableArray的一些方法
- Foundation框架(10)——NSMutableDictionary的创建、添加、删除、内存管理
- Foundation框架--NSMutableArray的使用
- Foundation框架中的NSMutableArray
- [Objective-C] 008_Foundation框架之NSArray与NSMutableArray
- Objective-C( Foundation框架 一 数组(NSMutableArray))
- 【黑马程序员】【Foundation框架】数组NSArray和NSMutableArray
- oc-Foundation框架-NSMutableArray-常用方法
- 黑马程序员------Foundation框架中NSArray和NSMutableArray
- ios Foundation框架中的可变和不可变对象NSArray 和NSMutableArray(二)
- Objective-C:Foundation框架-常用类-NSMutableArray