在快速文档中,您可以找到以下内容:
if convertedNumber != nil {
println("convertedNumber has an integer value of \(convertedNumber!).")
}
// prints "convertedNumber has an integer value of 123."
有了这个解释
知道了,但是它的用处是什么?如果我不像那样强行展开,那就不会一样了
if convertedNumber != nil {
println("convertedNumber has an integer value of \(convertedNumber).")
}
// prints "convertedNumber has an integer value of 123."
谢谢启发我:)
最佳答案
否。可选是另一种类型。如果您实际运行上面的代码而没有展开(这在操场上是微不足道的),则可以立即看到不同之处。
可选的打印为Optional(123)
,未包装的打印为123
。您必须先将可选参数传递给需要特定类型的对象,否则必须先将其拆开。
理解Optional是完全不同的类型,而不是特定类型的特殊类型(例如,没有“optional Int”,有一个包含Int的Optional)是理解这一点的关键。如果您对更长的解释感兴趣,我已经写了here。
关于swift - 强制展开的目的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25324774/