我使用NSKeyedArchive保存数据,然后使用NSKeyedArchiver。
// file path
static var filePath : String{
let url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
return url!.appendingPathComponent("Data").path
}
// save locally
static func saveData(reviewDaysArray : [MyObjects]){
NSKeyedArchiver.archiveRootObject(reviewDaysArray, toFile: filePath)
}
// get local data
static func getData() -> [MyObjects]{
if let data = NSKeyedUnarchiver.unarchiveObject(withFile: filePath) as? [MyObjects]{
return data
}
return [MyObjects]()
}
用户是否可以导出NSKeyedArchiver对象,然后在必要时进行恢复?
答案 0 :(得分:0)
您只需将数据导出到数据(a.k.a NSData),请参阅https://developer.apple.com/reference/foundation/nskeyedunarchiver
上的文档然后你可以随心所欲地做任何事情,比如邮件附件(参见MFMailComposeViewController)