2016-11-26 2 views
0

I сталкивается с проблемой при выполнении для цикла в Swift 3. Я могу использовать цикл для оператора диапазона ... и ..<, но в случае, я хочу что-то вроде ..>, но его недоступно.Оператор Swift range для i = mymax; i> = 0 i--

Как выполнить следующий цикл в Swift 3?

var myMax = 20 
for var i = myMax ; i >= 0 ; i -= 1 { 
    ... 
} 

ответ

1

Легко изменить направление цикла. Пользователь reversed функция.

Swift 3

let myMax = 20 
for i in (1..<myMax).reversed() { 
    print(i) 
} 

Вы также можете использовать stride как сказал @ZaidPathan:

Этого вопроса есть ответы на все вопросы со всеми версиями: How to iterate for loop in reverse order in swift?

1
for i in (1..<20).reversed() { 
    print(i) 
} 

Надеется, что это помогает. Read More

0

Swift 3, Вы можете использовать stride

var myMax = 20 
for var i = myMax ; i > 0 ; i -= 1 { 

} 

//Equivalent 

let myMax = 20 
for value in stride(from: 20, to: 0, by: -1){ 
    print(value) 
} 


var myMax = 20 
for var i = myMax ; i >= 0 ; i -= 1 { 

} 

//Equivalent 

for value in stride(from: 20, through: 0, by: -1){ 
    print(value) 
} 
Смежные вопросы