NSMutableArray基本用法
- NSMutableArray是NSArray的子類
- NSMutableArray是可變的舔株,隨時可以往里面添加莺琳、修改、刪除元素
創(chuàng)建一個NSMutableArray
// 創(chuàng)建一個空數(shù)組
NSMutableArray *arrM1 = [NSMutableArray array];
// 創(chuàng)建數(shù)組载慈,并且制定長度為10惭等,也是空數(shù)組
NSMutableArray *arrM2 = [[NSMutableArray alloc] initWithCapacity:10];
// 創(chuàng)建一個數(shù)組,包含兩個元素
NSMutableArray *arrM3 = [NSMutableArray arrayWithObjects:@"1", @"2", nil];
NSMutableArray *arrM4 = [[NSMutableArray alloc] initWithObjects:@"1", @"2", nil];
添加元素
[arrM1 addObject:@"2"];
// 將指定數(shù)組中的元素都取出來办铡,放到arrM1中
// 并不是將整個數(shù)組當做一個元素添加到arrM1中
[arrM1 addObjectsFromArray:@[@"q", @"f"]];
// 下面這種方法是將整個數(shù)組當做一個元素添加到arrM1中
[arrM1 addObject:@[@"d", @"f"]];
插入元素
[arrM1 insertObject:@"cc" atIndex:1];
NSRange range = NSMakeRange(2, 2);
NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
// 插入一組數(shù)據(jù)辞做,需要制定數(shù)組需要插入的位置和插入多少
[arrM1 insertObjects:@[@"111", @"bbb"] atIndexes:set];
獲取元素
[arrM1 objectAtIndex:1];
arrM1[1];
替換元素
arrM1[0] = @"111";
// 替換index位置上的元素
[arrM1 replaceObjectAtIndex:1 withObject:@"tt"];
NSMutableArray *arrM = [NSMutableArray arrayWithObjects:@"1", @"2", @"3",@"4",@"5",@"6", nil];
// 替換range指定位置上的元素,將后面的數(shù)組中的元素逐個全部插入
[arrM replaceObjectsInRange:NSMakeRange(1, 2) withObjectsFromArray:@[@"q",@"d",@"r"]];
NSLog(@"%@",arrM);// 輸出(1,q,d,r,4,5,6)
刪除元素
// 刪除index位置上的元素
[arrM1 removeObjectAtIndex:1];
// 刪除最后一個元素
[arrM1 removeLastObject];
// 刪除所有元素
[arrM1 removeAllObjects];
// 刪除對應的元素
[arrM1 removeObject:@"111"];
// 刪除range指定的元素
[arrM1 removeObjectsInRange:NSMakeRange(1, 1)];
交換元素
// 交換index為1和2位置上的元素
[arrM1 exchangeObjectAtIndex:1 withObjectAtIndex:2];
錯誤用法
// 使用@[]創(chuàng)建的是不可變數(shù)組NSArray
// 當調(diào)用NSMutableArray特有的方法的時候,將會出錯
NSMutableArray *arrM = @[@"1",@"2",@"3"];