Использование PencilKit в Swift. Как лучше всего сохранить PKDrawing в базу данных? Как его сериализовать?
Я работаю в приложении с использованием Swift, которое включает PencilKit с "просмотром холста" для заметок. Все работает нормально, но я не могу найти способ "преобразовать" значение, возвращаемое canvasView.drawing, в String для его загрузки и сохранения в базе данных.
Я могу получить изображение и даже "base64EncodedString", но мне нужен способ отправить "рисунок" на сервер, а затем загрузить с него и отобразить в canvasView.
Я тестировал его на преобразование в json, но я не могу "десериализовать" и снова преобразовать его в "рисунок", когда он загружается с сервера, хе-хе.
заранее спасибо
1 ответ
У вас есть только один вариант, если вы хотите восстановить его в объект PKDrawing - используйте drawing.dataRepresentation(), чтобы получить объект данных, который вы можете сохранить или записать и т. Д. Например, я использую это для сохранения в базе данных SQL:
self.pageEntity?.setValue(self.canvasView.drawing.dataRepresentation(), forKey: "markup")
Вы не можете интерпретировать результаты объекта данных, но можете повторно импортировать его в PKDrawing следующим образом:
do {
try d = PKDrawing.init(data: markup)
canvasView.drawing = d
} catch {
print("Error loading drawing object")
}
}