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

时间:2016-12-17 05:49:23

标签: swift optional

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

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

而不是使用&#34的新结构;如果让"我们可以使用下面的代码。它有什么危害?为什么我们要完全采取额外的临时变量?提前致谢。

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

1 个答案:

答案 0 :(得分:2)

if let构造允许您“解包”可选项以便可以使用该值(当它不是nil时)。

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

因此if let构造允许您在一个步骤中测试和解包可选项。这是一种方便,为您提供安全的可选方式。

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

在大多数情况下,你可能想要使用该值,如果它不是nil,那么if let构造提供了一种安全便捷的方法。