这是在Swift 3中使用UserDefaults在tableView中保存字典数组的正确方法吗?var arrNotes =字符串:字符串
func saveNotesArray () {
UserDefaults.standard.set(arrNotes, forKey: "notes")
UserDefaults.standard.synchronize()
}发布于 2017-01-03 18:49:18
使用此函数可以获取备注:
func saveNotesArray () {
var notes = UserDefaults.standard.object(forKey: "notes") as? [String:String]
}你是否以同样的方式获取对象?
发布于 2017-01-03 20:09:51
"String: String“是指键和值都是String的字典。
"[String: String]“表示包含键和值为字符串的字典的数组。
创建一个字符串字典和一个数组来保存它们
let dictionary: [String: String] = ["keyOne" : "valueOne", "keyTwo": "valueTwo"]
let arrayWithDictionaryOfStrings: [[String: String]] = [dictionary]将数组添加到userDefaults
let userDefaults = UserDefaults.standard
userDefaults.set(arrayWithDictionaryOfStrings, forKey: "arrayWithDictionaryOfStrings")
userDefaults.synchronize();从用户默认设置中获取字典数组
if let fetchedArrayWithDictionaryOfStrings: [[String: String]] = (userDefaults.object(forKey: "arrayWithDictionaryOfStrings") as? [[String: String]]) {
// handle fetchedArrayWithDictionaryOfStrings
}发布于 2017-01-04 19:00:37
为了保存,您应该像这样做
let placesData = NSKeyedArchiver.archivedData(withRootObject: placesArray)
UserDefaults.standard.set(arrNotes, forKey: "notes")从NSUserDefault检索到的数组的。
let placesData = UserDefaults.standard.object(forKey: "notes") as? NSData
if let placesData = placesData {
let arrNotes = NSKeyedUnarchiver.unarchiveObject(with: placesData as Data) as? NSMutableArray
print(arrNotes)}
https://stackoverflow.com/questions/41441446
复制相似问题