我尝试过一个不起作用的答案:Swift Saving user NSUser Defaults。
我的问题是我想永久保存:var myDict = [Int:String]()
使用NSUser默认值。
我的代码是:
let userDefaults = NSUserDefaults.standardUserDefaults()
@IBAction func AddOneWord(sender: AnyObject) {
if newWord.text != "" {
myDict.updateValue(newWord.text!, forKey: 1)
self.Word1Dictionnary.text = myDict[1]
userDefaults.setValue(myDict, forKey: "1")
userDefaults.synchronize()
}
}
问题是,当我点击我的应用程序(正在运行)上的按钮时出现此错误:Thread 1 : Signal SIGABRT。
答案 0 :(得分:1)
NSUserDefaults
只能存储属性列表对象。如Property List Programming Guide中所述:
虽然NSDictionary和CFDictionary对象允许它们的键是任何类型的对象,但如果键不是字符串对象,则集合不是属性列表对象。
您无法在[Int: String]
中存储NSUserDefaults
。密钥必须是字符串。