创建可变数组
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:@"One"];
[array addObject:@"Two"];
[array addObject:@"Three"];
[array removeObject:@"One"];//删除指定的元素。
[array removeAllObjects];//删除所有元素
[array removeLastObject];//删除最后一个元素
[array removeObjectAtIndex:1];//删除指定索引的元素
[array exchangeObjectAtIndex:0 withObjectAtIndex:2];//交换两个数组元素的位置
NSString *str =@"I am a so bad man";
NSArray *array = [str componentsSeparatedByString:@" "];//用空格来分割字符串,放到数组里
NSMutableArray *mutableArr = [[NSMutableArray alloc] init];
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSString *obj;
while (obj = [enumerator nextObject])
{
[mutableArr addObject:obj];
}
NSString *newStr = [mutableArr componentsJoinedByString:@" "];//从数组合并元素到字符串
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"3",@"2", nil];
//替换指定索引的元素
[array replaceObjectAtIndex:1 withObject:@"4"];
NSLog(@"array = %@",array);
数组的内存管理
void arrayMemory()
{
NSMutableArray *array = [NSMutableArray array];
Student *stu1 = [Student studentWithAge:10];
Student *stu2 = [Student studentWithAge:20];
//对被添加元素做一次retain操作,计数器+1
[array addObject:stu1];
[array addObject:stu2];
//对被删除的元素做一次release操作,计数器-1
[array removeObject:stu1];
//当数组被释放的时候,会对所有的元素都做一次release操作
}
数组排序void arraySort()
{
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"1",@"3",@"2", nil];
[array sortUsingSelector:@selector(compare:)];
NSLog(@"array = %@",array);
}