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.

Кто-нибудь, как я могу преобразовать изображение в данные и сохранить?

Ура

0 ответов

Другие вопросы по тегам