Как сохранить изображение в виде двоичных данных в Swift 5 - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь сохранить представление изображения в основных данных в виде двоичных данных.В моей функции я уже сохранил строку, и она отлично работает.Однако, когда я пытаюсь сделать то же самое с (theTitle2), это не работает.У меня также есть класс cdhandler в моем вопросе ниже, который хранится в приложении deleagate. Я думаю, что мне нужно как-то преобразовать вид изображения в uiimage, а затем сохранить его.

        func enterData() {
let appDeldeaget = UIApplication.shared.delegate as! AppDelegate
let context = appDeldeaget.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "User", in: context)
let theTitle = NSManagedObject(entity: entity!, insertInto: context)
theTitle.setValue(enter.text, forKey: "userName")
let theTitle2 = NSManagedObject(entity: entity!, insertInto: context)
theTitle2.setValue(imageV.image, forKey: "pit")

do {

    try context.save()
    itemName.append(theTitle)


}
catch {  }
//


    }

APP DELEGATE

     class cdHandler: NSObject {
class func saveObject(userName: String) -> Bool {
    let context = getContext()
    let entity = NSEntityDescription.entity(forEntityName: "User", in: context)

    let managedObject = NSManagedObject(entity: entity!, insertInto: context)

    managedObject.setValue(userName, forKey: "userName")
    managedObject.setValue(userName, forKey: "pit")

    do {
        try context.save()
        return true

    } catch {
        return false

    }
}
}

рис. Базовых данных enter image description here

1 Ответ

0 голосов
/ 22 июля 2019

Если вы хотите сохранить изображение в основных данных, преобразуйте изображение в данные и сохраните его.Нравится

let data = imageV.image?.jpegData(compressionQuality: 1) //image in JPEG format
or
let data = imageV.image?.pngData() // image in PNG format

theTitle2.setValue(data, forKey: "pit")
...