Swift 隐式展开的可选绑定可选

Swift 隐式展开的可选绑定可选,swift,optional,Swift,Optional,Swift编程指南说:“您还可以使用带有可选绑定的隐式展开可选语句,在单个语句中检查并展开其值。”。当值已展开时,为什么需要使用可选绑定?选项绑定是否会再次展开?调用隐式展开的选项与调用常规可选选项相同!在它之后。它仍然可以保存一个nil值,当它为nil时调用它将导致运行时错误,因此如果不确定它是否为nil,则使用if-let可选绑定 var myOptional: Int! = nil 10 + myOptional //runtime error if let myUnwrapped =

Swift编程指南说:“您还可以使用带有可选绑定的隐式展开可选语句,在单个语句中检查并展开其值。”。当值已展开时,为什么需要使用可选绑定?选项绑定是否会再次展开?

调用隐式展开的选项与调用常规可选选项相同!在它之后。它仍然可以保存一个nil值,当它为nil时调用它将导致运行时错误,因此如果不确定它是否为nil,则使用if-let可选绑定

var myOptional: Int! = nil

10 + myOptional //runtime error

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

调用隐式展开的函数与调用常规可选函数相同!在它之后。它仍然可以保存一个nil值,当它为nil时调用它将导致运行时错误,因此如果不确定它是否为nil,则使用if-let可选绑定

var myOptional: Int! = nil

10 + myOptional //runtime error

if let myUnwrapped = myOptional{
    10 + myOptional //safe
}
当值已经存在时,为什么需要使用可选的绑定 打开包装

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

当值已经存在时,为什么需要使用可选的绑定 打开包装


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

只需调用可选绑定(如第二行代码)即可自动打开可选的nil或not。如果让检查,然后展开。那么可选绑定essential会再次展开它吗?在这种情况下,您是否可以跳过if let myUnwrapped并检查MyOperational,因为您没有使用myUnwrapped?这只是一种更安全的访问方式unwrapping@Boon如果让{=myOptional{…},也可以执行
由于您不打算使用myUnwrappedJust,因此调用可选代码(如第二行代码)会自动打开可选的nil或not。如果让检查,然后展开。那么可选绑定essential会再次展开它吗?在这种情况下,您是否可以跳过if let myUnwrapped并检查MyOperational,因为您没有使用myUnwrapped?这只是一种更安全的访问方式unwrapping@Boon如果您不打算使用myUnwrapped,那么也可以使用,如果让uz=myOptional{…}