SwiftUI 2.0: сохранение изображения в Core Data с новым .fileImporter
Xcode версии 12.2 бета 4 (12B5044c) iOS 14.2
Цель: загружать и сохранять изображения с новым модификатором.fileImporter.
Что я сделал:
//load images
.fileImporter(isPresented: $openFile, allowedContentTypes: [.image]) { (res) in
do{
let fileUrl = try res.get()
print(fileUrl)
//getting filename
self.fileName = fileUrl.lastPathComponent
}
catch{
print ("error reading")
print (error.localizedDescription)
}
}
//save field inputs to Core Data
private func addItem() {
let newItem = Item(context: viewContext)
newItem.timestamp = Date()
newItem.itemNumber = self.itemNumber
newItem.name = self.name
// need to save URL as data, but cannot figure out
newItem.coverImage = self.fileName
do {
try viewContext.save()
print("Item saved.")
presentationMode.wrappedValue.dismiss()
} catch {
// Replace this implementation with code to handle the error appropriately.
// fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
let nsError = error as NSError
fatalError("Unresolved error \(nsError), \(nsError.userInfo)")
}
}
Проблема: при таком подходе я могу сохранить только строку (имя изображения).
Я знаю, что мне нужно преобразовать изображение в данные, чтобы сохранить в Core Data.
Кто-нибудь, как я могу преобразовать изображение в данные и сохранить?
Ура