1
NSCodingに準拠したオブジェクトです。私は保存し、スウィフト3のアプリケーションのドキュメントディレクトリから回復したいと思います。私はそれが保存方法と回復方法であると想像します。これはどうですか?持続性を使用し、Swift 3のアプリケーションディレクトリにNSCoding準拠のオブジェクトを取得する方法は?
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")
}
}
ありがとうございます!
'NSKeyedArchiver' /' NSKeyedUnarchiver' – dan
私はあなたがNSKeyedArchiver/NSKeyedUnarchiverを使用することを理解するが、私は、docsディレクトリとそれを保存するためのコードへの参照を取得する方法を理解していません。私は午後すべてドキュメントとウェブの周りをバウンスしてきました。 – Aaronium112