我刚刚开始学习swift。我对可选类型有点困惑。我有一些变量var theOptVar: Float?
,它可以是 nil,所以我用?
.
但是当我想在 UI 的某个地方得到它时,我看到Optional(305.502)
.
有没有办法在UILabel
没有“可选”字样的情况下启用可选 var?
问问题
264 次
2 回答
1
它显示“可选”,因为您已将其数据类型从 更改Float
为Optional 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 回答