I want to save an array of TreeWithPos
objects in UserDefaults. Every solution I've found (like Data object) didn't work in iOS 12.
What can I do?
I've tried this:
try? defaults.set(NSKeyedArchiver.archivedData(withRootObject: treesArr, requiringSecureCoding: false), forKey: "trees")
You can try using Codable
protocol with 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)
}