簡體   English   中英

在UserDefaults中保存項目數組-iOS 12

[英]Save array of items in UserDefaults - iOS 12

我想在UserDefaults中保存一個TreeWithPos對象數組。 我找到的每個解決方案(例如Data對象)都無法在iOS 12中運行。我該怎么辦? 我已經試過了:

try? defaults.set(NSKeyedArchiver.archivedData(withRootObject: treesArr, requiringSecureCoding: false), forKey: "trees")

您可以嘗試將可Codable協議與JSONEncoder()JSONDecoder()

struct SaveItem : Codable {

    var name:String
}

//

let arr = [SaveItem(name: "name1"),SaveItem(name: "name2")]

do {

    // write

    var data  = try JSONEncoder().encode(arr)

    UserDefaults.standard.set(data, forKey: "Key")

    // read

    let content = UserDefaults.standard.data(forKey: "Key")

    let saved = try JSONDecoder().decode([SaveItem].self, from: content!)

    print(saved)

 }
 catch {

      print(error)
  }

暫無
暫無

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

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