Swift:为什么我所有的可选变量看起来像 "Optional(305.502)"

Swift: Why all my optional variable looks like "Optional(305.502)"

我刚刚开始学习 swift。我对可选类型有点困惑。我有一些变量 var theOptVar: Float? 它可以是 nil 所以我用 ?.
使它成为可选的 但是当我想在 UI 的某处获取它时,我看到 Optional(305.502).
有没有办法在 UILabel 上有可选的 var 而没有 "Optional" 字?

它显示“可选”,因为您已将其数据类型从 Float 更改为 Optional Float
因此,无论值是什么,都会自动包装到 Optional 文本中。

因此,如果您不想显示可选词,只需从中提取值即可。

为此添加 ! 标记。 这是强制展开。

例如

var temp : Float?
temp = 60.5
println(Value \(temp!))

您可以使用 Rob 描述的隐式解包(aFloat!,如果 aFloat 为 nil 会崩溃)

可选绑定

if let requiredFloat = aFloat
{
  //Code that only runs if aFloat is != nil
  println("aFloat = \(requiredFloat)")
}
else
{
  println("aFloat = nil")
}

可选绑定为您做了两件事:它检查可选是否为 nil,如果为 nil 则跳过代码块。如果它不是零,它将可选分配给一个必需的常量,您可以在您的 if 代码中使用它。