一、简介
OC数组只能存放OC对象,不能存放非OC对象类型(例如基本数据类型、结构体、枚举等)。
C语言数组有一个缺点即数组中只能存放同种数据类型的元素。
NSArray:不可变数组
NSMutableArray:可变数组
二、NSArray
NSArray:不可变数组
1.创建方式
2. NSArray的访问
3. ★★★NSArray的遍历★★★
首先,我们快速创建一个OC数组
NSArray *array = @[@"first", @"second", @"third", @"forth"];
1>常规方法遍历
先列出我们最容易想到的(对比C语言数组遍历的方法)
优化前
①第16行快速创建OC数组:NSArray *array = @[@"first", @"second", @"third", @forth];
② 第18行 array.count 是调用了get方法;
③ 优点:数组下标和数组元素都是可见的;
④ 缺点:每遍历一个元素,都会调用一次 array.count,重复调用,影响性能。
优化后
通过使用 objectAtIndex: 方法获取对应下标的数组元素
2>快速遍历 for(id obj in array)
① 为了可以看到数组下标,做出以下优化 ②
3>调用block进行遍历
接下来介绍 BOOL *stop
stop是一个BOOL类型的指针变量:
当它的值为YES(或者任何其他非零值)时,表示遍历停止。
当它的值为NO(或者零值)时,表示遍历不会停止。
4>通过迭代器遍历数组
反序迭代器
三、NSMutableArray
1.简介
作用:可以往数组内部添加或删除内容。
注意:NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法。
2.基本用法