我不喜欢问简单的问题,但今天我很难过。我所需要做的就是查看应用启动时是否在NSUserdefaults中设置了值。如果不是,则添加一个值。而已。每次我启动我的应用程序我得到这个结果作为Swift NSUserDefaults not geting set
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
{
let defaults = NSUserDefaults.standardUserDefaults()
var returnValue: [String]? = NSUserDefaults.standardUserDefaults().objectForKey("BGColorStr") as? [String]
println("returnValue: \(returnValue) ...")
if (returnValue == nil)
{
println("Value is nil")
defaults.setObject("Default", forKey:"BGColorStr")
defaults.synchronize()
}
else
{
println("Value is NOT nil")
}
// Override point for customization after application launch.
return true
}
returnValue: nil ...
Value is nil
废话,你绝对正确 – 2014-10-01 20:49:29
还有一个问题,当我得到的价值回来什么是“可选”的意思,为什么它的一部分输出? returnValue:可选(“默认”) – 2014-10-01 20:58:20
这意味着'returnValue'可能或不可能是'nil'。 '如果let storedValue = returnValue'则将展开的值(如果存在)放入'storedValue'中。 – 2014-10-01 20:59:07