我正在阅读以下书籍,第 32 页上有一个代码片段。 2014 年 12 月:第一版。
Swift Development with CocoaJonathon Manning, Paris Buttfield-Addison, and Tim Nugent
我知道我们可以使用 ? 使 vairbale 可选,并使用 ! 在 Swift 中打开可选的 vairbale
var str: String? = "string"
if let theStr = str? {
println("\(theStr)")
} else {
println("nil")
}
为什么我们需要 ? 在这一行 if let theStr = str? 没有它似乎工作正常并且没有任何区别。
请您参考如下方法:
你不需要它,也不应该拥有它。可选绑定(bind)评估可选。如果为零,则停止。如果它不是 nil,它会将值分配给您需要的变量,然后执行 if 语句大括号内的代码。
编辑:
自首次以测试版形式发布以来,该语言略有变化。我的猜测是?过去是必需的。
我从 Github 使用的一些示例项目无法编译,我不得不编辑它们才能使它们工作。这可能是语法略有变化的示例。
