在Swift中处理可选项时,有两种不同的方法可以访问可选项后面的值(如果存在)。您可以进行手动检查:
if someOptional != nil {
doSomethingWithValue(someOptional!)
}
else {
//handle nil...
}
或者,您可以使用if let
块自动解包该选项:
if let unwrapped = someOptional {
doSomethingWithValue(unwrapped)
}
else {
//handle nil...
}
这些选项中的一个是出于任何原因而优于另一个吗?其中哪一个更具惯用性?
编辑:为了回应近距离投票,我试图询问是否有理由因为出于性能原因,安全原因或某事而出于偏好以外的任何原因而使用其他原因其他
答案 0 :(得分:0)
我认为你在"手动检查"中错过了一行代码:在检查之前
如果someOptional!= nil
你不得不通过以下方式分配:
someOptinal : <TypeOptional>? = anyFunctionThatProvidesAnOptional
因此我认为:第二种方式(所谓的&#34;可选绑定&#34;)将这两条线组合在一条线上,因此它更短,因此更好。