为了账号安全,请及时绑定邮箱和手机立即绑定

swift 2.2 去掉了C-Style的for循环

swift 2.2 去掉了C-Style的for循环,是不是以后就没有改变步长的逻辑可用了?

正在回答

5 回答

在swift2.2中,不仅没有了C-style的循环,而且连++,--运算符都取消掉了。此时,实现改变步长的逻辑,需要使用整型的stride函数。比如,最基本的,实现递减循环,见如下代码:

for i in 10.stride (through: 0, by: -1) {
    print("\(i)")
}


10.stride (through: 0, by: -1),表示从10到0(through),每次递减1。

其他改变步长的逻辑依此类推。

1 回复 有任何疑惑可以回复我~
#1

zhangweifang 提问者

非常感谢!
2016-06-12 回复 有任何疑惑可以回复我~

for i in 1... {

    print(i);

}

这样写竟然被允许 ,这是一个死循环,应该报错,或者警告吗?

0 回复 有任何疑惑可以回复我~

不对 3.0 好像也用不了了

for i in stride(from :0, through: 10, by: 1){

    print(i*i)

for i in stride(from: 1, to: 2, by: 0.1){

    print(i)

}

 这两种是被推荐的,前者包含区间上限,后者不包含区间上限

2 回复 有任何疑惑可以回复我~

6666

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

swift 2.2 去掉了C-Style的for循环

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信