2015-09-28 168 views
1

我有奇怪的问题在Xcode游乐场封闭声明开始,我不知道如果我有同样的问题的Xcode 7之前语句不能用在for循环

你可以看到左箭头(小于)位置循环条件部分,第一和第三语法有问题,第二和第四有正确的语法...

我使用Xcode 7和相同的问题是项目(不Playground)。

enter image description here

enter image description here

enter image description here

enter image description here

回答

1

快速初学者错误:操作员的空间很大。这是

a<b or a < b but not a <b or a< b. 
+0

早些时候,我经历了同样的问题,后来我认识到,如果操作符周围的空间很大,那么我认为它与@gnasher –

+0

相同,那么

+1

阅读Swift书。全部空格或双方空格=二元运算符。左侧的空格=前缀一元运算符。右侧空格=后缀一元运算符。 – gnasher729

0

此线程似乎表明这是一个错误。 https://forums.developer.apple.com/thread/6775

+0

这个问题在项目上不仅在操场上 –

+0

不幸的是。我不是这方面的专家。我只是想帮助你找到其他答案。我猜你的项目可能以错误的方式配置? –

1

一个解决方案是围绕运营商的空间这个问题是使用循环的“swiftier”的方式:

for item in array { 
    // do something with item 
} 

同样的,一个索引:

for (index, item) in array.enumerate() { 
    // do something with index and item 
} 

还有map从另一个阵列中获得修改阵列:

let result = array.map { item in 
    // apply transformation to `item` 
} 

不需要在Swift中继续使用旧的for var i = 0; ...机制。