我正在使用Swift开发的应用程序,其中包含PencilKit和带有“ canvasview”功能的笔记。一切正常,但是我找不到将 canvasView.drawing 返回的值“转换”为String以便将其上传并存储到数据库中的方法。
我可以获得图像,甚至是“ base64EncodedString”,但是我需要一种方法来将“图形”发送到服务器,然后从服务器加载并显示在canvasView中。
我已经测试过将其转换为json,但是当从服务器加载时,我无法“反序列化”并将其再次转换为“图形”。
预先感谢
答案 0 :(得分:2)
如果要将其还原到PKDrawing对象,则只有一个选项-使用drawing.dataRepresentation()获得可存储或写出的Data对象等。例如,我使用它来保存到SQL数据库:
# shellcheck disable=SC2207
files=( $(zgrep -lw "${text}" "${directory}"/{01..31}/{sipd.logthenthedate.gz,sipmsg.logthenthedate.gz} 2>/dev/null) )
for file in "${files[@]}"; do
# etc.
您无法解释数据对象的结果,但是可以将其重新导入到PKDrawing中,如下所示:
self.pageEntity?.setValue(self.canvasView.drawing.dataRepresentation(), forKey: "markup")