我正在使用 Swift 开发一个应用程序,其中包含带有“canvasview”的 PencilKit 来记笔记。一切工作正常,但我找不到将 canvasView.drawing 返回的值“转换”为字符串以将其上传并存储到数据库中的方法。
我可以获得图像,甚至是“base64EncodedString”,但我需要一种方法将“绘图”发送到服务器,然后从中加载,并显示在canvasView中。
我已经测试过将其转换为json,但是当从服务器加载时,我无法“反序列化”并将其再次转换为“绘图”呵呵。
提前致谢
最佳答案
如果您想将其恢复为 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")
}
}
关于swift - 在 Swift 中使用 PencilKit。将 PKDrawing 保存到数据库的最佳方法是什么?如何序列化呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513117/