Hier ist ein NSCoding-konformes Objekt. Ich möchte es aus dem Dokumentenverzeichnis der App in Swift 3 speichern und wiederherstellen. Ich kann mir vorstellen, dass es sich um eine Sicherungsmethode und eine Wiederherstellungsmethode handelt. Wie wird das gemacht?So verwenden Sie persistent & rufen Sie ein NSCoding-kompatibles Objekt zur App Document-Verzeichnis in Swift 3 auf?
import Foundation
class Book: NSObject, NSCoding {
var title: String
var author: String
var pageCount: Int
var categories: [String]
var available: Bool
init(title:String, author: String, pageCount:Int, categories:[String],available:Bool) {
self.title = title
self.author = author
self.pageCount = pageCount
self.categories = categories
self.available = available
}
// MARK: NSCoding
required convenience init?(coder: NSCoder) {
let title = coder.decodeObject(forKey: "title") as! String
let author = coder.decodeObject(forKey: "author")as! String
let categories = coder.decodeObject(forKey: "categories") as! [String]
let available = coder.decodeBool(forKey: "available")
let pageCount = coder.decodeInteger(forKey: "pageCount")
self.init(title:title, author:author,pageCount:pageCount,categories: categories,available:available)
}
func encode(with: NSCoder) {
with.encode(self.title, forKey: "title")
with.encode(self.author, forKey: "author")
with.encode(Int32(self.pageCount), forKey: "pageCount")
with.encode(self.categories, forKey: "categories")
with.encode(self.available, forKey: "available")
}
}
Vielen Dank!
'NSKeyedArchiver' /' NSKeyedUnarchiver' – dan
Ich verstehe, dass Sie NSKeyedArchiver/NSKeyedUnarchiver verwenden, aber ich verstehe nicht, wie ein Verweis auf das Verzeichnis docs bekommen und den Code zu speichern. Ich bin den ganzen Nachmittag in der Dokumentation und im Internet herumgesprungen. – Aaronium112