(OC)容器

作者: 傲骨天成科技 | 来源:发表于2015-12-27 21:45 被阅读221次

容器(Collec􏰂ion):   OC中提供的容器类,数组,字典,集合。

枚举过程中,不能改变被枚举的内容,但是可以改变对象里面的属性

遍历:    对集合中元素依次取出的过程叫做遍历。

三种⽅方式:

fo􏰀循环遍历

NSEn􏰁me􏰀a􏰂o􏰀遍历

fo􏰀...in遍历

一、for遍历   在枚举的过程中可以更改

1.遍历数组

          原理:通过fo􏰀循环的循环变量⽤用作数组元素下标来获取不同下标的元素。

         循环次数就是数组元素的个数。

可变数组和不可变数组都可以用此方法

 2.遍历字典

           原理:先获取字典中所有的key􏰅,存储到数组中,遍历数组依次取出每一个key􏰅,然后根据ke􏰅y从字典中取出对应的􏰆val􏰁e。

循环次数等于字典的元素个数。

可变字典和不可变字典都可以这样遍历

3.遍历集合

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

可变集合和不可变集合都可以这样遍历

二、枚举器遍历      NSEnumerator

枚举器:遍历容器中的元素。

依附于容器类(NSArr􏰀􏰀a􏰅y,NSSe􏰂t,NSDict􏰂ionary􏰀􏰅),不能用来创建实例变量。

NSEn􏰁umer􏰀a􏰂to􏰀r的next􏰄􏰂Objec􏰂t⽅法可以遍历每个容器元素,结束返回nil,通过与w􏰇hile结合使用可遍历容器中的所有元素。

对可变容器进⾏枚举操作时,不能通过添加或删除对象这类方式来改变集合容器的元素个数。

1.不可变数组枚举

//nextObject 会一一返回枚举器中的元素,当没有元素时返回nil;//在枚举过程中不能改变数组的元素

2.可变数组枚举

倒序枚举指的是数组中元素从最后一个向第一个输出,不是排序

3.字典枚举

由于字典是无序的,所以没有倒序

4.集合枚举

由于集合是无序的,所以没有倒序枚举

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

1.数组的快速枚举

可变和不可变数组的快速枚举方法一样

2.字典的快速枚举

可变和不可变字典的快速枚举方法一样

3.集合的快速枚举

可变和不可变集合的快速枚举方法一样

相关文章

网友评论

    本文标题: (OC)容器

    本文链接:https://www.haomeiwen.com/subject/adubhttx.html