xcode 8 更新后出错 - NSUserDefaults
Error after xcode 8 update - NSUserDefaults
更新到 Xcode 8.0 和 iOS 10 后,我的代码中出现了以前没有出现过的错误。让我向您介绍困扰我的代码。
viewDidLoad:
struct defaultsKeys {
static var localStrings = ""
}
外部按钮(IBAction):
var storeUserData = NSUserDefaults.standardUserDefaults()
内部按钮(IBAction):
let earlierStrings = storeUserData.stringForKey("localStrings")
按钮内的最后一行是给我一个错误的行。我现在收到此错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
更新前我不是吗? NSUserDefaults 有什么变化吗?我很困惑,希望你能帮助我:-)
首先,如果您想在程序内部传递值,只需使用@vikingosegundo 所述的局部变量。声明局部变量并使用它们。
其次,当您想要存储变量(例如用户设置或首选项)时,请使用 NSUserDefault。也请遵循@Adils 的建议。按如下方式使用它们:
设置值:
NSUserDefaults.standardUserDefaults().setObject("YOUR STRING", forKey: "key")
获取值:
NSUserDefaults.standardUserDefaults().stringForKey("key")
更新到 Xcode 8.0 和 iOS 10 后,我的代码中出现了以前没有出现过的错误。让我向您介绍困扰我的代码。
viewDidLoad:
struct defaultsKeys {
static var localStrings = ""
}
外部按钮(IBAction):
var storeUserData = NSUserDefaults.standardUserDefaults()
内部按钮(IBAction):
let earlierStrings = storeUserData.stringForKey("localStrings")
按钮内的最后一行是给我一个错误的行。我现在收到此错误:
fatal error: unexpectedly found nil while unwrapping an Optional value
更新前我不是吗? NSUserDefaults 有什么变化吗?我很困惑,希望你能帮助我:-)
首先,如果您想在程序内部传递值,只需使用@vikingosegundo 所述的局部变量。声明局部变量并使用它们。
其次,当您想要存储变量(例如用户设置或首选项)时,请使用 NSUserDefault。也请遵循@Adils 的建议。按如下方式使用它们:
设置值:
NSUserDefaults.standardUserDefaults().setObject("YOUR STRING", forKey: "key")
获取值:
NSUserDefaults.standardUserDefaults().stringForKey("key")