Экспорт/импорт объектного файла NSKeyedArchiver

Я сохраняю данные с помощью 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, а затем восстановить его при необходимости?


person Marry G    schedule 06.03.2017    source источник


Ответы (1)


вы можете просто экспортировать свои данные в Data (он же NSData), см. документы по адресу https://developer.apple.com/reference/foundation/nskeyedunarchiver

И тогда вы можете делать с ним все, что хотите, например, вложение в почту (см. MFMailComposeViewController).

person Benny Davidovitz    schedule 09.03.2017