在 Swift 中使用 PencilKit.将 PKDrawing 保存到数据库中的最佳方法是什么?如何序列化?



我正在使用一个使用 Swift 的应用程序,其中包含带有"canvasview"的 PencilKit,可以做笔记。一切正常,但我找不到将canvasView.drawing返回的 de 值"转换"为字符串以将其上传并存储到数据库中的方法。

我可以得到一个图像,甚至一个"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")
}
}

相关内容

  • 没有找到相关文章

最新更新