Swift3 导出/导入NSKeyedArchiver对象文件

Swift3 导出/导入NSKeyedArchiver对象文件,swift3,nskeyedarchiver,nskeyedunarchiver,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

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

您只需将数据导出为数据(又称NSData),请参阅

然后你可以用它做任何你想做的事情,比如邮件附件(参见MFMailComposeViewController)