pragma mark 可变数组NSMutableArray
pragma mark 概念
/**
可变数组 (NSMutableArray)
1. 添加
单个 (addObject)
多个 (addObjectsFromArray)
2.插入
将对象 插入到那个位置 (insertObject:atIndex)
插入 一组数据 , 指定数据需要插入的位置,和插入多少个 (insertObjects:atIndexes)
3. 删除
删除指定位置 (removeObjectAtIndex)
删除所有 (removeAllObjects)
删除最后一个 (removeLastObject)
删除某个对象 (removeObject)
4. 替换
使用那个索引 替换成那个对象 (replaceObjectAtIndex:withObject)
arr[index] = @"LYH";
5. 获取
获取 (objectAtIndex)
arr[index]
*/
pragma mark 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark main函数
int main(int argc, const char * argv[])
{
#pragma 可变数组NSMutableArray
#warning 1.可变数组NSMutableArray
// 创建一个空的数组
NSMutableArray *arrM = [NSMutableArray array];
// 1. 如何添加 单个 () 多个
[arrM addObject:@"1"];
// NSLog(@"%@",arrM);
// 将所有的元素 取出来 放到 arrM中
// 并不是 将整个数组 作为一个元素 添加到arrM中
[arrM addObjectsFromArray:@[@"lyh",@"lys"]];
// 以下 是 将整个数组 作为一个元素 添加
// [arrM addObject:@[@"lyh",@"lys"]];
NSLog(@"%@",arrM);
// 2. 如何插入
// 将对象 插入到那个位置 (insertObject:atIndex)
// 插入 一组数据 , 指定数据需要插入的位置,和插入多少个 (insertObjects:atIndexes)
[arrM insertObject:@"hehe" atIndex:1];
NSLog(@"%@",arrM);
// location 从哪里开始插入 length 是插入多少个
NSRange range = NSMakeRange(2, 2);
NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:range];
// 插入 一组数据 , 指定数据需要插入的位置,和插入多少个
[arrM insertObjects:@[@"A",@"C"] atIndexes:set];
NSLog(@"%@",arrM);
// 3. 如何删除
// 删除指定位置 (removeObjectAtIndex)
// 删除所有 (removeAllObjects)
// 删除最后一个 (removeLastObject)
// 删除某个对象 (removeObject)
[arrM removeObjectAtIndex:0];
NSLog(@"%@",arrM);
[arrM removeLastObject];
NSLog(@"%@",arrM);
[arrM removeObject:@"A"];
NSLog(@"%@",arrM);
// 4. 如何替换
// 使用那个索引 替换成那个对象 (replaceObjectAtIndex:withObject)
[arrM replaceObjectAtIndex:1 withObject:@"GG"];
NSLog(@"%@",arrM);
// 快捷替换
arrM[0] = @"LYH";
NSLog(@"%@",arrM);
// 5. 如何获取
// 获取 (objectAtIndex) 方式1
// arr[index] 方式2
NSLog(@"%@",[arrM objectAtIndex:0]);
NSLog(@"%@",arrM[1]);
#warning 2.注意点
// 不能 通过@[] 来创建一个可变数组, 因为@[]创建出来的 是一个不可变的数组
// 如果 把 一个不可变数组 当做成一个可变数组 来使用, 会引发一个运行时的错误
NSMutableArray *arrM1 = @[@"1",@"2"];
[arrM1 addObject:@"XXX"]; // 这里会崩溃
return 0;
}