我是Swift的新手,因此,如果这是愚蠢的,请原谅我。以下是可选结合的示例。我了解它的工作原理。但是为什么需要它,我无法理解。
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello, (name)"
}
而不是使用"如果让"的新结构,我们可以使用以下代码。有什么危害?为什么我们完全采用额外的临时变量?提前致谢。
var optionalName: String = "John Appleseed"
var greeting = "Hello!"
if optionalName != nil {
greeting = "Hello, (optionalName)"
}
if let
构造允许您"解开"可选的,以便可以使用该值(当它不是nil
时)。
简单地测试不nil
不会改变您具有可选的事实。
因此,if let
构造允许您在一步中测试和解开可选的。这是一种方便,为您提供可选的安全方法。
只要您不希望以任何有意义的方式使用包装值(即,您只是在测试不是NIL),就不会对nil
进行测试。或者,您计划每次要在同一范围内使用该值时使用!
操作员进行强制包装。
在大多数情况下,如果不是零,则可能需要使用该值,而if let
构造再次提供了一种安全和方便的方法。