【问题标题】:statement cannot begin with a closure statement on for loop语句不能以 for 循环上的闭包语句开头
【发布时间】:2015-09-28 05:41:59
【问题描述】:

我在 Xcode Playground 中遇到了奇怪的问题,我不知道在 Xcode 7 之前我是否也遇到过同样的问题。

您可以在 for 循环条件部分看到左箭头(小于)位置,第 1 和第 3 句语法有问题,第 2 和第 4 句语法正确...

我正在使用 Xcode 7,同样的问题出现在 Project(不是 Playground)上。

【问题讨论】:

    标签: swift2 xcode7 swift-playground


    【解决方案1】:

    Swift 初学者的错误:运算符周围的空间很重要。这是

    a<b or a < b but not a <b or a< b.
    

    【讨论】:

    • 之前我也遇到过同样的问题,后来我才知道和@gnasher一样
    • 如果运算符周围的空间很大,那么 a
    • 阅读 Swift 书籍。完全没有空格或两边都有空格 = 二元运算符。左侧的空格 = 前缀一元运算符。右侧空格 = 后缀一元运算符。
    【解决方案2】:

    解决运算符周围空间问题的一个方法是使用“更快捷”的循环方式:

    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; ... 机制。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 这个问题不仅在操场上也出现在 Project 上
      • 不幸的是。我不是这方面的专家。我只是想帮你找到一些其他的答案。我猜你的项目可能配置错误?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 2016-09-08
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多