首页 > 代码库 > NSMutableArray
NSMutableArray
一、#pragma mark 创建NSMutableArray.
void arrayCreate() {
NSMutableArray *array = [NSMutableArray arrayWithObject:@"1"];
//添加元素。
[array addObject:@"2"];
[array addObject:@"3"];
//删除元素。
[array removeObject:@"2"];
NSLog(@"%@",array);
}
二、#pragma mark NSMutableArray内存管理。
void arrayMemory() {
NSMutableArray *array = [[NSMutableArray alloc] init];
Student *stu = [Student studentWithAge:10];
Student *stu1 = [Student studentWithAge:20];
NSLog(@"init->stu:%zi",[stu retainCount]);
//添加元素的时候会对被添加的元素做一次retain操作。
[array addObject:stu];
[array addObject:stu1];
NSLog(@"add->stu:%zi",[stu retainCount]);
//对被删除的元素做一次release操作。
[array removeObject:stu];
NSLog(@"remove->stu:%zi",[stu retainCount]);
//当数组被释放的时候,会对所有的元素都做一次release操作。
NSLog(@"%@",array);
[array release];
}
三、#pragma mark NSMutableArray添加、删除、插入、替换元素操作。
void arrayOther () {
NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil];
NSArray *array = [NSArray arrayWithObjects:@"4",@"5", nil];
//将array添加到mutableArray中。
[mutableArray addObjectsFromArray:array];
//在index为5的位置插入一个元素。
[mutableArray insertObject:@"6" atIndex:5];
//删除最后一个元素。
[mutableArray removeLastObject];
//删除所有的元素。
//[mutableArray removeAllObjects];
//删除index位置的元素。
[mutableArray removeObjectAtIndex:2];
//删除特定的元素。
[mutableArray removeObject:@"4"];
//在range范围内查找特定的元素进行删除。
NSRange range = NSMakeRange(0, 2);
[mutableArray removeObject:@"1" inRange:range];
//删除rang范围内的所有元素。
NSArray *array1 = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
[mutableArray addObjectsFromArray:array1];
[mutableArray removeObjectsInRange:range];
//删除同时存在于otherArray和当前集合中的所有元素
NSArray *otherArray = [NSArray arrayWithObjects:@"3",@"4", nil];
[mutableArray removeObjectsInArray:otherArray];
//用anObject替换index位置对应的元素。
[mutableArray replaceObjectAtIndex:0 withObject:@"a"];
//用objects中的元素分别替换indexes对应位置的元素。
NSIndexSet *index = [NSIndexSet indexSetWithIndexesInRange:range];
NSArray *array2 = [NSArray arrayWithObjects:@"b",@"c", nil];
[mutableArray replaceObjectsAtIndexes:index withObjects:array2];
NSLog(@"%@",mutableArray);
}
NSMutableArray