Шаблоны программирования на Swift: Iterator

iterator-preSwift_ru

 

В этой статье мы разберем шаблон программирования Итератор (Iterator) на языке программирования Swift в среде разработки Xcode.

 

Iterator

В книге даны уж больно замудренные примеры, но это обусловленно особенностями языка Objective-C. На Swift пример занимает в разы меньше.

Так что для начала пример из жизни:

И как показывает практика, самый простой пример – это обычная вендинг машина. (сам пример взят из книги Pro Objective-C Design Patterns for iOS). У нас есть контейнер, который разделен на секции, каждая из которых содержит определенный вид товара, к примеру набор бутылок Coca-Cola. Когда мы заказываем товар, то нам выпадет следующий из колекции. Образно говоря, команда cocaColaCollection.next

Паттерн итератор позволяет последовательно обращаться к колекции объектов, не особо вникая что же это за коллекция.

Самый простой пример перебора выгляди так:

Консоль:

По сути, шаблон Итератор используется для обеспечения стандартного интерфейса для обхода набора элементов без необходимости понять структуру этого набора.

Пример с GitHub создает структуру с коллекцией элементов произвольного типа и добавляет возможность перебора элементов в данной структуре.

Метки:
2 комментария на “Шаблоны программирования на Swift: Iterator
  1. Олег:

    extension NovellasCollection: SequenceType {
    func generate() -> AnyGenerator {
    var i = -1
    return AnyGenerator {
    i += 1
    return i >= self.novellas.count ? nil : self.novellas[i]
    }
    }
    }

  2. Jan:

    Пишите более подробно а то ничего не понятно.

Добавить комментарий для Jan Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*