NSMutableArray
来源:互联网 发布:车间工时统计软件 编辑:程序博客网 时间:2024/03/28 21:05
Student.h:
#import <Foundation/Foundation.h>@interface Student : NSObject@property(nonatomic,assign) int age;+(id)studentWithAge:(int)age;@end
Student.m:
#import "Student.h"@implementation Student+(id)studentWithAge:(int)age{ Student *stu=[[[Student alloc] init] autorelease]; stu.age=age; return stu;}-(void)dealloc{ NSLog(@"Age=%i对象被释放",_age); [super dealloc];}@end
main:
#import <Foundation/Foundation.h>#import "Student.h"void arrayCreate(){ NSMutableArray *array=[NSMutableArray arrayWithObject:@"1"]; //添加成员 [array addObject:@"2"]; [array addObject:@"3"]; //删除成员 [array removeObject:@"2"]; [array removeLastObject]; [array removeAllObjects]; NSLog(@"动态数组是:%@",array);}#pragma mark - 数组内存的管理void arrayMemory(){ NSMutableArray * array=[NSMutableArray array]; Student *stu1=[Student studentWithAge:16]; Student *stu2=[Student studentWithAge:22]; //注意:array进行添加元素的时候,会对被添加的元素执行一次retain操作,计数器加1 [array addObject:stu1];//注意:执行这句话之后,首先先对stu1进行一次retain操作,计数器加1 [array addObject:stu2]; NSLog(@"addStu->计数器%i",[stu1 retainCount]); //注意:array进行删除元素的时候,会对被删除的元素执行一次release操作,计数器减1 [array removeObject:stu1];//执行这句之后,stu1进行一次release操作,计数器减1 NSLog(@"removeStu->计数器%i",[stu1 retainCount]); //注意:当数组被释放的时候,会对有所由成员进行一次release操作}#pragma mark - 替换元素void arrayReplase(){ NSMutableArray *array=[NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",nil]; //只能塞OC对象 //替换元素 [array replaceObjectAtIndex:1 withObject:@"8"]; Student *stu1=[Student studentWithAge:16]; [array replaceObjectAtIndex:2 withObject:stu1];//随便塞对象,可以替换一个stu对象 NSLog(@"array:%@",array);}#pragma mark - 排序void arraySort(){ NSMutableArray *array=[NSMutableArray arrayWithObjects:@"1",@"4",@"3",@"2",nil]; //只能塞OC对象 NSLog(@"排序前:%@",array); [array sortUsingSelector:@selector(compare:)]; NSLog(@"排序后:%@",array); }int main(int argc, const char * argv[]){ @autoreleasepool { /*arrayCreate(); arrayMemory(); arrayReplase();*/ arraySort(); } return 0;}
结果:
2013-08-02 15:32:46.883 NSMutableArray[1179:303] 排序前:(
1,
4,
3,
2
)
2013-08-02 15:32:46.885 NSMutableArray[1179:303] 排序后:(
1,
2,
3,
4
)
- NSMutableArray
- NSMutableArray
- NSMutableArray
- NSMutableArray
- NSMutableArray
- NSMutableArray
- 关于NSMutableArray。
- NSArray/NSMutableArray
- NSArray NSMutableArray
- NSMutableArray应用
- NSMutableArray 进阶
- NSMutableArray EXC_BAD_ACCESS
- NSMutableArray 特性
- NSMutableArray 排序
- NSMutableArray用法
- NSArray、NSMutableArray
- NSMutableArray removeObject
- NSMutableArray containsObject
- vs2008 条件断点
- Oracle 死锁情况总结
- ARM(公司)
- 还有两周时间
- 智能手机和平板电脑设计中的单键开/关机和复位的智能方案
- NSMutableArray
- Oracle 11gR2数据库已不再包含css配置命令 - localconfig
- ubuntu配置apache2+svn服务器
- ocp-047-61
- jsp网页输出二进制图片
- hdu 4632 Palindrome subsequence
- 自制Radio Button
- 使用第三方类库对html进行解析
- GDB 使用命令 较好文章