Swift 2.2弃用了C风格的循环.但是在某些情况下,新的范围运算符不能正常工作.
for var i = 0; i < -1; ++i { ... }
和
for i in 0..<-1 { ... }
后一个将在运行时失败.我可以用一个if来包装循环,但是有点混乱.有时这种循环是有用的.
有什么想法吗?
用例
>您需要枚举数组的所有元素,除了最后一个.
>您需要枚举小数范围内的所有整数,但范围可以像[0.5,0.9],所以没有整数(在一些数学之后),这导致一个空循环.
解决方法
虽然不是“漂亮”,但您可以使用步幅:
for var i in 0.stride(to: -1,by: -1) { print(i) }