Обложка канала

iOS Dev

iOS разработчик, который делится фишками, своим опытом и опытом других. В этом канале вы сможете найти истории из жизни, подходы к реализации а также новости и тренды из мира iOS-разработки Авторский канал, iOS разработка

iOS Dev

4 года назад
Открыть в
Перебор элементов и индексов в коллекциях Swift 🤔Автор считает, что enumerated() для получения элементов и индексов не самый правильный способ и предлагает альтернативу. Интовое значение через enumerated() не должно использоваться в качестве индекса, если только коллекция не zero-based и не индексирована целыми числами. Это счетчик, который всегда начинается с нуля. 🧑‍💻 Для перебора элементов и индексов можно использовать функцию zip(). // Array<String> var ingredients = ["potatoes", "cheese", "cream"] // Array<String>.SubSequence var doubleIngredients = ingredients.dropFirst() for (i, ingredient) in zip( doubleIngredients.indices, doubleIngredients ) { // do something with the index doubleIngredients[i] = "\(ingredient) x 2" } Мы можем отказаться от enumerated() и подсчитывать элементы с помощью функции zip(). Это можно использовать для продвинутого контроля, начинаем ли мы считать с 0 или с 1. 📖 Кстати! В этой статье можно почитать, как использовать zip для объединения двух массивов.