导出/导入NSKeyedArchiver对象文件

时间:2017-03-06 19:07:24

标签: swift3 nskeyedarchiver nskeyedunarchiver

我使用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对象,然后在必要时进行恢复?

1 个答案:

答案 0 :(得分:0)

您只需将数据导出到数据(a.k.a NSData),请参阅https://developer.apple.com/reference/foundation/nskeyedunarchiver

上的文档

然后你可以随心所欲地做任何事情,比如邮件附件(参见MFMailComposeViewController)