【问题标题】:Error after xcode 8 update - NSUserDefaultsxcode 8 更新后出错 - NSUserDefaults
【发布时间】:2016-09-15 18:30:52
【问题描述】:

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

【问题讨论】:

  • 你得到的是一个字符串的值,而不是变量localStrings:storeUserData.stringForKey("localStrings")。
  • @AdilSoomro 你在说什么? :-)
  • "Outside button", "Inside Button" — 你是否使用用户默认值来传递东西?不要这样做。
  • 您正在传递带有双引号的 localStrings,如下所示:"localStrings" 它改变了一切。
  • @AdilSoomro 谢谢 :-)

标签: ios swift nsuserdefaults ios10


【解决方案1】:

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

其次,当您想要存储变量(例如用户设置或首选项)时,请使用 NSUserDefault。也请遵循@Adils 的建议。按如下方式使用它们:

设定值:

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

获取价值:

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

【讨论】:

    猜你喜欢
    • 2015-12-14
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2017-01-28
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多