0

我刚刚开始学习swift。我对可选类型有点困惑。我有一些变量var theOptVar: Float?,它可以是 nil,所以我用?.
但是当我想在 UI 的某个地方得到它时,我看到Optional(305.502).
有没有办法在UILabel没有“可选”字样的情况下启用可选 var?

4

2 回答 2

1

它显示“可选”,因为您已将其数据类型从 更改FloatOptional Float
因此,任何值都会自动包装到可选文本中。

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

为此添加!标记。这是强制解包。

例如。

var temp : Float?
temp = 60.5
println(Value \(temp!))
于 2015-03-28T11:51:00.113 回答
1

您可以使用 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,则跳过代码块。如果它不是 nil,它会将可选项分配给您可以在 if 代码中使用的必需常量。

于 2015-03-28T11:53:18.840 回答