一、说这个NSArray之前呢,我们先回忆 1.回忆什么呢,回忆我们C语言当中学的数组 C语言的数组,它有什么特点呢,第一个特点 1)存储多个数据 2)类型相同 3)长度固定 4)每一个元素在内存中都是挨的紧紧的, 每一个元素都是紧密相连的 2.在Objective-C中,有更好用的数组,你不需要关心内存的细节,你只要把它当成一个对象来看待就可以了 它就是NSArray 1)这家伙,仍然是个类, 是Foundation框架中的一个类 那么既然是个类,它是不是可以创建对象啊 那这个对象是用来干嘛的 这个类的对象的作用是用来存储多个数据的, 所以,具备数组的功能, 也就是说NSArray是我们OC当中的数组 2)那它和C语言的数组有什么区别 a.第一个特点,只能存储OC对象 对,基本数据类型存不了 只能存储任意的OC对象,从NSObject类继承的OC对象,都能存取 无法存储非OC对象的数据 b.第二个特点,长度固定 一旦这个NSArray数组创建完毕之后,元素的长度固定,无法新增,也无法删除元素 c.第三个特点,它每一个元素都是紧紧挨着的, 每一个元素都是紧密相连的 每一个元素仍然有自己的下标 d.第四个特点,既然这个NSArray是个数组,那么它得有元素啊,那么它的元素是什么类型的 任何类型 任何类型也有类型啊,id类型 元素的类型是id类型的 正因为是id类型的,所以它只能存储OC对象啊 能不能存个int进去啊,存不了 因为这个元素类型是id类型的 你看吧,我声明1个id id id1 = 10; 能不能赋个10,不能,肯定报错了 所以我们说NSArray里面的元素类型是id类型的,所以它里面就不能存储基本数据类型 把这四点搞明白以后,剩下的仅仅是语法而已 剩下的我就告诉你如何去创建NSArray对象,如何往里面存数据,如何取出来,如何遍历 二、NSArray数组的创建 1.这没什么好说的,因为这是个类,你说怎么创建,是不是创建对象啊 因为这是1个类,所以当然就是创建NSArray对象了 创建对象了,还用我说吗,不用我说了吧 是不是new、alloc init、再有就是它那个array方法了吧 这个类的签名如下: