IOS-OC-数组

不可变数组

1.定义赋值:
①:NSArray *array = @[@"Q",@"A",@"Q",dog];

②:NSArray *array1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",dog, nil];

③:NSArray *array2 = [[NSArray alloc] initWithArray:array1];

【注】不可变数组,指数组对象一旦创建,其元素的个数和顺序不可修改。
NSArray * array = @[@"One One", @"Two", @"Three", @"Four", @"dDD"];

//数组本身是一个对象
//数组的元素如@"One" @"Two" @"Three"等都是任意类的对象,不仅限于字符串。
//创建数组对象时传参,传入对象的地址
//数组中只是存储了对象的地址,而非存储了对象的本体。

//同一个对象可以存储到两个数组当中,仍然是一个对象
//在一个数组中修改了对象,在另一个数组中读取对象,会发现对象也被丢改了。

//遍历打印一个数组
//打印一个数组,就是打印数组的元素

二 : 数组个数
//返回array数组的元素个数
NSUInteger count = [array count];
NSLog(@"%lu", count);

数组分割和拼接和字符串是一样的

数组遍历
第一种 直接打印数组变量名就可以打印数组里面的元素

NSArray *array = @[@"1",@"2",@"3"];

        NSLog(@"%@",array);

第二种

//通过索引遍历
for (int i = 0; i < [array count]; i++) {
NSLog(@"%@", array[i]);
}

第三种

//快速枚举法
for (NSString * str in array) {
//第一次循环str指向数组第一个元素,第二次循环,str指向数组第二个元素。。。
NSLog(@"%@", str);
}【注】如果遍历的是可变数组,在for in结束前,不能修改可变数组的元素个数和顺序。

可变数组

NSMutableArray *arrayM = [[NSMutableArray alloc] init];
// 添加数据
[arrayM setArray:@[@"1",@"2",dog]];
NSLog(@"%@",dogArray);

    // 添加元素(把元素放在最后)
    [arrayM addObject:@"元旦要到了"];

    // 插入数据
    [arrayM insertObject:@"你们可以去疯了" atIndex:1];

    // 删除元素

第一种删法
[arrayM removeObject:@“1”];//@“1”表示的是数组里面的元素
第二种方法
[arrayM removeObjectAtIndex:2];

    // 交换元素位置
    [arrayM exchangeObjectAtIndex:1 withObjectAtIndex:2];
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容