簡體   English   中英

使用UserDefaults保存數組

[英]Saving array with UserDefaults

這是在Swift 3中使用UserDefaults在tableView中保存字典數組的正確方法嗎? var arrNotes = [String:String]

func saveNotesArray () {
    UserDefaults.standard.set(arrNotes, forKey: "notes")
    UserDefaults.standard.synchronize()
}

使用此功能獲取筆記:

 func saveNotesArray () {
       var notes = UserDefaults.standard.object(forKey: "notes") as?   [String:String]
}

您是否以同樣的方式得到對象?

“ [[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();

從userdefaults獲取字典數組

if let fetchedArrayWithDictionaryOfStrings: [[String: String]] = (userDefaults.object(forKey: "arrayWithDictionaryOfStrings") as? [[String: String]]) {
    // handle fetchedArrayWithDictionaryOfStrings
}

你應該像這樣保存

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)

}

在Swift-3中,通過以下方式使用UserDefaults保存數組:

let userDefaults = UserDefaults.standard

userDefaults.set(arrayOfname, forKey:"Keyname")
userDefaults.synchronize()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM