定义:
存储有序对象的集合
可以存储相同的对象
只能保存对象,基本数据类型需要转换成对象类象
初始化
NSArray * arr = [NSArray array];
arr = @[@"小王",@(18),@(NO)];
元素个数
NSLog(@"%li",[arr count]);
访问元素
NSLog(@"%@",arr[0]);//yc
NSLog(@"%@",[arr objectAtIndex:1]);//18
追加元素
arr = [arr arrayByAddingObject:@"man"];
NSLog(@"%@",arr);//yc,18,1,man
NSArray * arr2 = @[@168];
arr = [arr arrayByAddingObjectsFromArray:arr2];
NSLog(@"%@",arr);
包含元素
//包含元素,注意NSString是根据内存地址来判断的
NSLog(@"%i",[arr containsObject:@"yc"]);
//包含元素,注意基本数据类型是根据值大小来判断的
NSLog(@"%i",[arr containsObject:@18]);
查找对象所在索引
NSLog(@"%i",[arr indexOfObject:@"yc"]);
NSLog(@"%i",[arr indexOfObject:@18]);
遍历数组
for (int i=0; i<[arr count]; i++)
{
NSLog(@"%@",arr[i]);
}
for (NSObject * obj in arr)
{
NSLog(@"%@",obj);
}
[arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop)
{
if(idx == 2)//如果索引为2,停止执行
{
*stop = YES;
}
else
{
NSLog(@"%@",obj);
}
}];
动态数组
定义一个空数组
NSMutableArray * arr = [NSMutableArray array];
添加元素
[arr addObject:@"yc"];
插入元素
[arr insertObject:@"man" atIndex:1];
[arr insertObject:@18 atIndex:2];
修改元素
[arr setObject:@"woman" atIndexedSubscript:1];
移除元素
[arr removeObject:@"woman"];
NSLog(@"%@",arr);
清空元素
[arr removeAllObjects];
NSLog(@"%@",arr);