在程序设计中数组的使用非常频繁,Foundation框架提供了NS数组类型,NS数组类型包括可修改的和不可修改两种,只能用来存放相关的对象类型,OC为我们提供了相关的基本的数组操作,并对相关的数组操作进行了封装。
- 数组的定义
我们可以简单的把数组看做是把同一类型的数据有序的进行排列,进行同一存储,即同种类型数据的集合。
- 数组的声明
数组声明和变量声明类似
格式:数组类型 数组名【数组大小】例如 :int score[5];
数据类型 数组名【长度】=【数值1,数值2,……,数值n】。
例如:int score【5】={1,2,3,4,5};
若对数组的所有元素都赋予了初始值,则可以不用指定数组大小,系统将自动根据赋值的个数来确定数组的大小。
例如:int score[]={1,2,3,4,5,6}.
如果只是声明数组,而不为数组赋值,则数组的元素值是不确定的。
例如:int score【10】;里边元素值是不能确定的。
3.二维数组的声明和定义
数组名【下标1】【下标2】例如 int a[3][4]相当于3个数组长度为4的一维数组。
4.字符数组
字符数组初始化可以分为两种,一种是逐个赋值,另一种是用字符串直接给数组赋值。
其中,直接将字符串赋值给字符数组初始化,系统会自动将字符串中每个字符赋值给数组每个元素,末尾加上’\0’.
5.不可修改数组
当women要使用不可修改数组的时候,就要使用NSArray来进行操作。在程序中要使用数组对象就要在开头插入数组对象的头文件#import<Foundation/NSArray.h>
nil在oc中表示一个Objective-C对象,空对象。
在不可修改数组中,我们可以用:“arrayWithObjects”类方法对数组进行初始化,例如我们给city初始化 NSArray *city=[NSArray arrayWithObjects:@”北京”,@“上海”,@“南京”,@“郑州”,nil];
不可变数组的使用如下图
6.可变数组
NSArray是一个静态数组,我们不能在数组中添加和删除数组元素,所以oc语言为我们提供了NSMutableArray来动态的管理数组。NSMutableArray是NSArray的子类,所以继承了NSArray的所有方法,而且又有新增的方法。
创建和我初始化可变数组
NSMutableArray*数组对象名=[[NSMutableArray alloc]init]
addObject是在数组中添加元素
[数组对象名 addObject:添加的元素];
removeObject是从数组中删除指定的元素
[数组对象名 removeObject:要删除的元素];
removeAllObjects是删除数组中所有元素
[数组对象名 removeAllObjects];
insertObject是在指定位置为数组添加新元素
[对象数组名 insertObject:元素 atIndex:要插入的位置];