Foundation框架—集合

 

Foundation框架—集合数组

1、NSArray和NSMutableArray框架

(一)NSArray不可变数组3d

(1)NSArray的基本介绍对象

NSArray是OC中使用的数组,是面向对象的,以面向对象的形式操纵对象,是不可变数组。blog

C语言数组有一个缺点即数组中只能存放同种数据类型的元素。继承

OC数组只能存放OC对象,不能存放非OC对象,如int,结构体和枚举等。索引

(2)NSArray的建立编译器

 

(3)NSArray的访问it

 (4)NSArray的遍历io

数组的遍历有如下几种方式:

首先建立一个数组

 

第一种方法:使用for循环遍历

 

 

Block遍历的深刻研究:

每拿到一个元素,就传递给obj,就会调用一次block,而且把当前的元素和索引位置当作参数传递给block。

注意1:break只使用在两种场合,即switch和循环结构中。

注意2:stop参数用来中止遍历,其值若为YES,则中止。

 

(二)NSMutableArray可变数组

(1)NSMutableArray的基本使用

注意:NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法。

 

 

2、NSSet和NSMutableSet

(一)NSSet不可变集合

基本使用:

 

(二)NSMutableSet可变集合

基本使用:

 

(三)NSSet和NSArray的对比

(1)共同点:

1)都是集合,都可以存放多个对象

2)只能存放oc对象,不能存放非oc对象类型(如int等基本数据类型和结构体,枚举等)。

3)自己都不可变,都有一个可变的子类。

(2)不一样点:

1)NSArray有顺序,NSSet没有顺序

3、NSDictionary和NSMutableDictionary

(一)NSDictionary不可变字典

(1)介绍

现实中的字典:根据索引找到具体的内容

OC中的NSDictionary:根据key找到value。里面存储的东西都是键值对。

(2)NSDictionary的建立

 

注意:快速建立字典是编译器特性。

(3)NSDictionary的访问

 

(4)NSDictionary的遍历

 

(二)NSMutableDictionary可变字典

(1)NSMutableDictionary的基本使用

 

(2)NSMutableDictionary的使用注意

 

注意:这种快速建立的方式只适用于不可变字典。