在快速文档中,您可以找到以下内容:

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/

10-10 21:07