数组

定义:

存储有序对象的集合
可以存储相同的对象
只能保存对象,基本数据类型需要转换成对象类象

初始化

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);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章