Ответ 1
Синоним Swift для "шага" - это "шаг" - Strideable protocol, фактически реализованный многими распространенными числовые типы.
Эквивалент (i = 1; i < max; i+=2)
:
for i in 1.stride(to: max, by: 2) {
// Do something
}
В качестве альтернативы, чтобы получить эквивалент i<=max
, используйте вариант through
:
for i in 1.stride(through: max, by: 2) {
// Do something
}
Обратите внимание, что stride
возвращает StrideTo
/StrideThrough
, который соответствует SequenceType
, так что все, что вы можете сделать с последовательностью, вы можете сделать с результатом вызова stride
(т.е. map
, forEach
, filter
и т.д.). Например:
1.stride(to: max, by: 2).forEach { i in
// Do something
}