首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UserDefaults保存数组

使用UserDefaults保存数组
EN

Stack Overflow用户
提问于 2017-01-03 18:31:33
回答 4查看 3.7K关注 0票数 0

这是在Swift 3中使用UserDefaults在tableView中保存字典数组的正确方法吗?var arrNotes =字符串:字符串

代码语言:javascript
复制
func saveNotesArray () {
    UserDefaults.standard.set(arrNotes, forKey: "notes")
    UserDefaults.standard.synchronize()
}
EN

回答 4

Stack Overflow用户

发布于 2017-01-03 18:49:18

使用此函数可以获取备注:

代码语言:javascript
复制
 func saveNotesArray () {
       var notes = UserDefaults.standard.object(forKey: "notes") as?   [String:String]
}

你是否以同样的方式获取对象?

票数 0
EN

Stack Overflow用户

发布于 2017-01-03 20:09:51

"String: String“是指键和值都是String的字典。

"[String: String]“表示包含键和值为字符串的字典的数组。

创建一个字符串字典和一个数组来保存它们

代码语言:javascript
复制
let dictionary: [String: String] = ["keyOne" : "valueOne", "keyTwo": "valueTwo"]
let arrayWithDictionaryOfStrings: [[String: String]] = [dictionary]

将数组添加到userDefaults

代码语言:javascript
复制
let userDefaults = UserDefaults.standard
userDefaults.set(arrayWithDictionaryOfStrings, forKey: "arrayWithDictionaryOfStrings")

userDefaults.synchronize();

从用户默认设置中获取字典数组

代码语言:javascript
复制
if let fetchedArrayWithDictionaryOfStrings: [[String: String]] = (userDefaults.object(forKey: "arrayWithDictionaryOfStrings") as? [[String: String]]) {
    // handle fetchedArrayWithDictionaryOfStrings
}
票数 0
EN

Stack Overflow用户

发布于 2017-01-04 19:00:37

为了保存,您应该像这样做

代码语言:javascript
复制
let placesData = NSKeyedArchiver.archivedData(withRootObject: placesArray)
UserDefaults.standard.set(arrNotes, forKey: "notes")

从NSUserDefault检索到的数组的。

代码语言:javascript
复制
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)

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41441446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档