迭代器模式提供了一种顺序访问集合对象中元素的方法,而无需暴漏结构的底层表示和细节。
遍历集合中元素的职能从集合本身转移到迭代器对象。
迭代器定义了一个用于访问集合元素并记录当前元素的接口。
一、使用步骤
二、基本属性
1.基本作用
最少知识原则:需要访问组合对象的内容,而又不暴漏其内部表示。
通过多种方式遍历组合对象。
提供一个统一的接口,用来遍历各种类型的组合对象。
2.NSEnumerator
基础框架中的NSEnumerator类实现了迭代器模式。抽象NSEnumerator类的私有具体子类返回枚举器对象,能够顺序遍历各种集合——数组、集合、字典,把集合中的对象返回给客户端。
3.NSDirectoryEnumerator
NSDirectoryEnumerator,这个类的实例递归枚举文件系统中一个目录的内容。NSArray、NSSet、NSDictionary这样的集合类,定义了返回与集合类型相应的NSEnumerator子类实例的方法。所有的枚举器都以同样的方式工作,可以在一个循环中向枚举器发送nextObject消息,从枚举器取得对象,直到它返回nil表示遍历结束。
三、代码示例
1.迭代器模式
https://github.com/shileseal/SLIteratorDemo