隐式解包可选的可选绑定

时间:2014-06-30 01:21:08

标签: swift optional

Swift编程指南说“你也可以使用带有可选绑定的隐式解包的可选项,在一个语句中检查和解包它的值”。为什么在值已经解包时需要使用可选绑定?选项绑定是否会重新打开它?

2 个答案:

答案 0 :(得分:2)

调用隐式解包与调用常规可选项相同!在它之后。它仍然可以保持一个零值并在它为零时调用它将导致运行时错误,所以如果你不确定它是否为零,你可以使用if let可选绑定。

var myOptional: Int! = nil

10 + myOptional //runtime error

if let myUnwrapped = myOptional{
    10 + myOptional //safe
}

答案 1 :(得分:2)

  

为什么在值已经使用时需要使用可选的绑定   展开

已经解开了。隐式展开的可选项只是一个可选项。它在某些表达式中使用时隐式展开(后缀表达式,可选绑定具有效果的相同表达式)。但除此之外,它只是一个可选的,而不是解开的。您可以像使用其他选项一样使用可选绑定。