一尘不染

将使用除法的C样式for循环转换为Swift 3

swift

我有这个循环,在Swift 2中逐个除以一个整数。

for var i = 128; i >= 1 ; i = i/2  {
   //do some thing
}

不建议使用C样式的for循环,那么如何将其转换为Swift 3.0?


阅读 243

收藏
2020-07-07

共1个答案

一尘不染

MartinR的解决方案非常通用且有用,应该成为您工具箱的一部分。

另一种方法是重新定义您想要的内容:2的幂从7降到0。

for i in (0...7).reversed().map({ 1 << $0 }) {
    print(i)
}
2020-07-07