xcode 8更新后出现错误 - NSUserDefaults

问题描述:

更新到Xcode 8.0和iOS 10后,我的代码中出现了一个我以前没有看到的错误。让我来引导你通读那些困扰我的代码。xcode 8更新后出现错误 - NSUserDefaults

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有什么改变?我很困惑,我希望你能帮助我:-)

+1

你得到的值是否是一个字符串,而变量'localStrings'这里:storeUserData.stringForKey( “localStrings”)。 –

+0

@AdilSoomro,你在说什么? :-) –

+0

“外部按钮”,“内部按钮” - 您是否使用用户默认设置来传递内容?不要这样做。 – vikingosegundo

首先,如果你想在你的程序中传递值,只需使用局部变量作为@vikingosegundo声明。声明局部变量并使用它们。

其次,如果要存储变量(如用户设置或首选项),请使用NSUserDefault。也请遵循@Adils建议。使用它们如下:

设定值:

NSUserDefaults.standardUserDefaults().setObject("YOUR STRING", forKey: "key") 

获得价值:

NSUserDefaults.standardUserDefaults().stringForKey("key")