Swift编程指南说“你也可以使用带有可选绑定的隐式解包的可选项,在一个语句中检查和解包它的值”。为什么在值已经解包时需要使用可选绑定?选项绑定是否会重新打开它?
答案 0 :(得分:2)
调用隐式解包与调用常规可选项相同!在它之后。它仍然可以保持一个零值并在它为零时调用它将导致运行时错误,所以如果你不确定它是否为零,你可以使用if let可选绑定。
var myOptional: Int! = nil
10 + myOptional //runtime error
if let myUnwrapped = myOptional{
10 + myOptional //safe
}
答案 1 :(得分:2)
为什么在值已经使用时需要使用可选的绑定 展开
已经解开了。隐式展开的可选项只是一个可选项。它在某些表达式中使用时隐式展开(后缀表达式,可选绑定具有效果的相同表达式)。但除此之外,它只是一个可选的,而不是解开的。您可以像使用其他选项一样使用可选绑定。