在CocoaTouch框架中选择迭代器模式,请问外部迭代器和内部迭代器有什么差别?
我想要访问组合对象的内容,有不暴露起内部的表示。我应该选择哪种迭代器模式会好一些呢?
外部迭代器能让客户端直接操作迭代过程,所以客户端要知道外部迭代器才能使用,方便的地方就是能为客户端提供更多控制。
内部迭代器则不需要客户端知道任何外部迭代器,可通过集合对象的特殊接口,或者一次访问一个元素发送消息。
各有千秋,看你自己需要了