сохранение изображения с Core Data - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь сохранить изображение профиля пользователя с CoreData, но не понимаю, как это сделать.

Я знаю, что должен создать сущность, и я прочитал, что это должен быть тип BinaryData, но затемЯ не понимаю, как его сохранить и загрузить.

Я пробовал так:

let profilePicture = UserPicture(context: AppDelegate.viewContext)
profilePicture.userProfilePicture = profilPictureImageView.image?.pngData()
    try? AppDelegate.viewContext.save()

Но не работает.Я не нашел ничего достаточно ясного, чтобы помочь мне.

1 Ответ

0 голосов
/ 29 октября 2018

Для сохранения изображения в CoreData вы должны преобразовать изображение в тип DATA, а затем сохранить его в CoreData. Этот код может быть полезен для сохранения изображения в CoreData.

@IBOutlet weak var profileimg: UIImageView?

let data = (profileimg?.image)!.pngData()
let context = (UIApplication.shared.delegate as? AppDelegate)?.persistentContainer.viewContext
let newUser = NSEntityDescription.insertNewObject(forEntityName: "Entity", into: context!)
newUser.setValue(data, forKey: "img")

do {
    try Constant.context?.save()
}

Убедитесь, что введенный вами ключ правильный. Должен быть установлен флажок «Разрешить внешнее хранение в инспекторе модели данных». Но я не рекомендую сохранять изображения в CoreData. Надеюсь, это будет полезно.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...