0

自从我完成任何 Swift 编程以来已经有一段时间了,似乎自从我上次搞砸 NSUserDefaults 以来,有些事情已经改变了。

我一直在解包方面遇到问题,并且由于已经进行了这些更改,我发现它更加令人困惑。我只是想将一个变量设置为我存储在组 NSUserDefaults 中的双精度变量。这是我的代码:

    percent = defaults?.doubleForKey("percentage")

我尝试了一些事情,例如:

    percent = defaults?.doubleForKey("percentage") as Double

但是我似乎找不到解决方案。它只是声明该值目前未解包。有什么帮助吗?

4

1 回答 1

1

defaults是一个可选的,所以任何使用它的表达式都会产生一个可选的。只需在可选绑定中打开它:

if let defaults = defaults {
    percent = defaults.doubleForKey("percentage")
}

或者如果你 110% 确定它defaults永远不会是 nil(或者你希望应用程序在它是 nil 时崩溃),只需使用强制展开替换?!

percent = defaults!.doubleForKey("percentage")
于 2015-01-21T22:43:50.323 回答