为什么我们首先需要可选的绑定结构

Why we need optional binding construct in first place

我是 swift 的新手,所以如果这个问题听起来很愚蠢,请原谅我。下面是可选绑定的示例。它是如何工作的,我明白了。但是为什么需要它,我无法理解。

   var optionalName: String? = "John Appleseed"
   var greeting = "Hello!"
   if let name = optionalName {
        greeting = "Hello, \(name)"
   }

我们可以使用下面的代码来代替 "If let" 的新构造。它有什么害处?为什么我们要完全采用一个额外的临时变量?提前致谢。

var optionalName: String = "John Appleseed"
var greeting = "Hello!"
    if optionalName != nil {
        greeting = "Hello, \(optionalName)"
    }

if let 构造允许您 "unwrap" 可选值以便可以使用该值(当它不是 nil 时)。

简单地测试是否 nil 不会改变您有一个可选的事实。

因此 if let 构造允许您一步测试和解包可选。这很方便,并为您提供了一种安全的方式来使用可选的。

只要您不希望以任何有意义的方式使用包装值(即,您只是在测试非零),仅测试非 nil 并没有什么坏处。或者您计划每次要在同一范围内使用值时使用 ! 运算符强制展开。

在大多数情况下,如果该值不是 nil,您可能希望使用该值,if let 构造再次提供了一种安全且方便的方法。