/*创建一个可变数组(继承于 NSArray)*/
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects: @"One",@"Two",@"Three",@"Four",nil];
NSMutableArray * array1 = [[NSMutableArray alloc]initWithArray:array]; NSMutableArray * array2 = [NSMutableArrayarrayWithArray:array]; NSMutableArray *array3 = [[NSMutableArrayarrayWithObjects: @"One",@"Two",@"Three",@"Four",nil];
[array release]; [array1 release];
//把不可变转化为一个新的可变数组
NSArray *array = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",nil]; NSMutableArray * array1 = [NSMutableArray arrayWithArray:array];
//增 add (insert)
[array addObject:@"four"];//在最后增加
[array insertObject:@"iOS" atIndex:1];//在指定索引插入一个元素
//删除(remove)
[array removeObjectAtIndex:1];//根据索引删除元素
[array removeObject:@"one"];//删除数组元素:有几个删几个
[array removeObject:@"one" inRange:NSMakeRange(0, 2)]; //在指定范围内删除
//替换(replace):修改
[array replaceObjectAtIndex:0 withObject:@"qianfeng"];
//交换(exchange)
[array exchangeObjectAtIndex:1 withObjectAtIndex:2];
/*可变数组排序*/
//创建一个空的可变数组
//(首先设计一个 Dog类)
NSMutableArray * array = [[NSMutableArray alloc]init]; while (i++ < 5) {
Dog * dog = [[Dog alloc]initWithAge:arc4random()%10]; [array addObject:dog];
}
[array sortUsingSelector:@selector(youngThanAge:)];
//sortUsingSelector这是一个排序方法;已经实现了, //但是需要我们提供一个准则(就是一个函数)这个准则是(升序)左边大于 右边进行交换 或者是(降序)左边小于右边进行交换 //数组的元素是哪个类?那么这个准则就写在哪个类中
//这就是一个准则 左边大于 右边进行交换
//升序
-(BOOL)olderThanAge:(Dog *)_dog
{
return [self age] > [_dog age];
}