为什么不重新声明可选绑定'创建错误?

时间:2016-08-29 22:06:41

标签: swift compiler-errors optional

我在Playground中这样做,但我没有收到任何错误。我不是在重新创造常数range吗?它发生在两个不同的范围内吗?背景中发生了哪些错误?

if let range = add1.rangeOfString(", ") {
    print(add1.substringToIndex(range.startIndex))
    print (range)
}

if let range = add1.rangeOfString(", ") {
    print(add1.substringToIndex(range.startIndex))
    print (range)
}

1 个答案:

答案 0 :(得分:2)

使用if-let的可选绑定引入的变量在let - 子句之后是本地的,直到真实案例代码块结束。

所以,是的。您的两个range驻留在的两个不同范围

guard-let是另一回事。)