这是使用Swift 3中的UserDefaults在tableView中保存字典数组的正确方法吗? var arrNotes = [String:String]
func saveNotesArray () {
UserDefaults.standard.set(arrNotes, forKey: "notes")
UserDefaults.standard.synchronize()
}
答案 0 :(得分:0)
使用此功能获取笔记:
func saveNotesArray () {
var notes = UserDefaults.standard.object(forKey: "notes") as? [String:String]
}
你是否以同样的方式获得对象?
答案 1 :(得分:0)
“[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();
从userdefaults获取字典数组
if let fetchedArrayWithDictionaryOfStrings: [[String: String]] = (userDefaults.object(forKey: "arrayWithDictionaryOfStrings") as? [[String: String]]) {
// handle fetchedArrayWithDictionaryOfStrings
}
答案 2 :(得分:0)
你应该这样做 保存
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)
}
答案 3 :(得分:-1)
在Swift-3中,使用UserDefaults保存数组的方法如下:
var theArrayofLatLng = path.j;