Ответ
Да, в Swift можно итерироваться по коллекциям (массивам, словарям, множествам) несколькими способами.
Основные методы:
-
Цикл
for-in(универсальный):let numbers = [1, 2, 3] for number in numbers { print(number) } -
Методы высшего порядка (функциональный стиль):
numbers.forEach { print($0) } // Проход по элементам let doubled = numbers.map { $0 * 2 } // Преобразование let even = numbers.filter { $0 % 2 == 0 } // Фильтрация -
Итерация по словарю:
let dict = ["a": 1, "b": 2] for (key, value) in dict { print("(key): (value)") }
Важные особенности:
- Порядок итерации в
DictionaryиSetне гарантирован (используйте.sorted()для порядка) - Для безопасной модификации во время итерации используйте:
for index in numbers.indices.reversed() { if numbers[index] == 2 { numbers.remove(at: index) } } - Метод
enumerated()возвращает пары (индекс, элемент) для массивов