谁能告诉我下面的代码为什么在Swift 2中可以运行,但在Swift 3中却以某种方式中断?

let range: Range = 0...2

但是,只需执行此操作即可解决
let range: Range = 0..<3

有人知道这是什么原因吗?

最佳答案

在Swift 2.x中,用于生成相同类型...的运算符..<Range。现在,它们产生不同的类型(migration guide):

  • Range
  • CountableRange
  • ClosedRange
  • CountableClosedRange

  • 将第一个分配中的类型更改为ClosedRange应该可以解决此问题。更好的是,让Swift为您推断类型:
    let range = 0...2
    

    关于ios - 在Swift 3中创建封闭范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39805903/

    10-12 12:19
    查看更多