Swift:不保存NSUserDefaults.standardUserDefaults值

时间:2016-07-05 17:16:08

标签: ios swift nsuserdefaults

我正在尝试在NSUserDefaults中保存键值但未保存。这是我的代码:

func saveData() {

    let userDefaults = NSUserDefaults.standardUserDefaults()
    userDefaults.setObject("blablabla", forKey:"data")
    userDefaults.synchronize()
}

你们中的任何人都知道为什么这个数据没有保存?

我真的很感谢你的帮助。

3 个答案:

答案 0 :(得分:5)

Swift 2.x:

根据Apple消息来源:

public func objectForKey(defaultName: String) -> AnyObject?

检索您可以使用的值:

if let value = userDefaults.objectForKey("data")  {
    // do whatever you want with your value
    // P.S. value could be numeric,string,..
}

答案 1 :(得分:4)

我认为你做错了,试试这样:

let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setObject("blablabla", forKey:"data")



let defaults = NSUserDefaults.standardUserDefaults()
if let name = defaults.stringForKey("data") {
    print(name)
}

您将无法使用dictionaryForKey访问字符串,因为字符串不是字典值类型。如果您需要任何进一步的帮助,请告诉我。

答案 2 :(得分:2)

您将无法使用'dictionaryForKey'访问字符串,因为字符串不是字典值类型。你需要使用:

if let savedString = userDefaults.stringForKey("data") {
    print(savedString)
}

如果您有任何其他问题,请随时告诉我:)