试图从 NSUserDefaults 解包 double
Trying to unwrap double from NSUserDefaults
自从我完成任何 Swift 编程以来已经有一段时间了,似乎自从我上次弄乱 NSUserDefaults 以来,有些事情发生了变化。
我在解包时总是遇到问题,自从进行了这些更改后,我发现它更加混乱了。我只是想将一个变量设置为我存储在 NSUserDefaults 组中的双精度变量。这是我的代码:
percent = defaults?.doubleForKey("percentage")
我尝试了一些方法,例如:
percent = defaults?.doubleForKey("percentage") as Double
但是我似乎找不到解决方案。它只是说明该值目前未展开。有帮助吗?
defaults
是一个可选的,所以任何使用它的表达式都会产生一个可选的。
只需将其解包在一个可选的绑定中:
if let defaults = defaults {
percent = defaults.doubleForKey("percentage")
}
或者如果您 110% 确定 defaults
永远不会为 nil(或者您希望应用程序在它为 nil 时崩溃),只需将 ?
替换为 !
:
percent = defaults!.doubleForKey("percentage")
自从我完成任何 Swift 编程以来已经有一段时间了,似乎自从我上次弄乱 NSUserDefaults 以来,有些事情发生了变化。
我在解包时总是遇到问题,自从进行了这些更改后,我发现它更加混乱了。我只是想将一个变量设置为我存储在 NSUserDefaults 组中的双精度变量。这是我的代码:
percent = defaults?.doubleForKey("percentage")
我尝试了一些方法,例如:
percent = defaults?.doubleForKey("percentage") as Double
但是我似乎找不到解决方案。它只是说明该值目前未展开。有帮助吗?
defaults
是一个可选的,所以任何使用它的表达式都会产生一个可选的。
只需将其解包在一个可选的绑定中:
if let defaults = defaults {
percent = defaults.doubleForKey("percentage")
}
或者如果您 110% 确定 defaults
永远不会为 nil(或者您希望应用程序在它为 nil 时崩溃),只需将 ?
替换为 !
:
percent = defaults!.doubleForKey("percentage")