容器(Collecion): OC中提供的容器类,数组,字典,集合。
枚举过程中,不能改变被枚举的内容,但是可以改变对象里面的属性
遍历: 对集合中元素依次取出的过程叫做遍历。
三种⽅方式:
fo循环遍历
NSEnmeao遍历
fo...in遍历
一、for遍历 在枚举的过程中可以更改
1.遍历数组
原理:通过fo循环的循环变量⽤用作数组元素下标来获取不同下标的元素。
循环次数就是数组元素的个数。

2.遍历字典
原理:先获取字典中所有的key,存储到数组中,遍历数组依次取出每一个key,然后根据key从字典中取出对应的vale。
循环次数等于字典的元素个数。

3.遍历集合
原理: 用集合的allObjec属性先取到集合的所有元素存储到数组中,再通过for循环的循环变量用作下标来取到每个元素。

二、枚举器遍历 NSEnumerator
枚举器:遍历容器中的元素。
依附于容器类(NSArray,NSSet,NSDictionary),不能用来创建实例变量。
NSEnumerator的nextObject⽅法可以遍历每个容器元素,结束返回nil,通过与while结合使用可遍历容器中的所有元素。
对可变容器进⾏枚举操作时,不能通过添加或删除对象这类方式来改变集合容器的元素个数。
1.不可变数组枚举

2.可变数组枚举

3.字典枚举

4.集合枚举

三、for in遍历(快速枚举) 在枚举过程中不能更改
1.数组的快速枚举

2.字典的快速枚举

3.集合的快速枚举

网友评论