최신 Swift 3 업데이트 (Swift 4에서도 작동)
reversed()
범위 에서 방법을 사용할 수 있습니다.
for i in (1...5).reversed() { print(i) } // 5 4 3 2 1
또는 stride(from:through:by:)
방법
for i in stride(from:5,through:1,by:-1) { print(i) } // 5 4 3 2 1
stide(from:to:by:)
유사하지만 마지막 값을 제외합니다.
for i in stride(from:5,to:0,by:-1) { print(i) } // 5 4 3 2 1
최신 Swift 2 업데이트
우선 프로토콜 확장 reverse
은 사용 방법을 변경합니다 .
for i in (1...5).reverse() { print(i) } // 5 4 3 2 1
Stride는 Xcode 7 Beta 6에서 재 작업되었습니다. 새로운 사용법은 다음과 같습니다.
for i in 0.stride(to: -8, by: -2) { print(i) } // 0 -2 -4 -6
for i in 0.stride(through: -8, by: -2) { print(i) } // 0 -2 -4 -6 -8
다음에서도 작동합니다 Doubles
.
for i in 0.5.stride(to:-0.1, by: -0.1) { print(i) }
경계에 대한 부동 소수점 비교에주의하십시오.
Swift 1.2의 이전 편집 : Xcode 6 Beta 4부터 by 및 ReverseRange 는 더 이상 존재하지 않습니다.
범위를 반전하려는 경우에는 반전 기능 만 있으면됩니다.
for i in reverse(1...5) { println(i) } // prints 5,4,3,2,1
0x7fffffff 에 의해 게시 된 바와 같이 임의의 정수로 반복하고 증가시키는 데 사용할 수 있는 새로운 stride 구조가 있습니다. 애플은 또한 부동 소수점 지원이 올 것이라고 밝혔다.
그의 답변에서 출처 :
for x in stride(from: 0, through: -8, by: -2) {
println(x) // 0, -2, -4, -6, -8
}
for x in stride(from: 6, to: -2, by: -4) {
println(x) // 6, 2
}