定義:
存儲有序對象的集合
可以存儲相同的對象
只能保存對象,基本數據類型需要轉換成對象類象
初始化
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);