问题描述
我试图用以前以数据形式存储在sqlite3数据库中的PKDrawing重新填充PKCanvas,但是Canvas没有显示以前的图形。以下代码是canvasView中的viewDidLoad函数。我不确定这是否是问题,但是当我尝试打印PKDrawing时,它显示它包含0个笔触。当我直接查询数据库时,它显示“ wrd?”,但是我不知道那是什么意思。
override func viewDidLoad() {
super.viewDidLoad()
/* ...
* CODE THAT SETS UP CANVASVIEW
* ... */
// Check if canvas for selected date has already been created
let result = CanvasManager.main.check(selectedDate: selectedDate!)
// If canvas for selected date has not yet been created
if Mirror(reflecting: result).children.count == 0 {
// create new canvas to store in db
print("CREATING NEW CANVAS")
_ = CanvasManager.main.create(date: selectedDate!,drawing: drawing.dataRepresentation())
let _ = CanvasManager.main.check(selectedDate: selectedDate!)
}
else {
// load existing drawing
print("LOAD EXISTING CANVAS")
let canvas = Canvas(id: result[0].id,date: result[0].date,drawing: result[0].drawing)
do {
var oldDrawing = PKDrawing()
// Try to populate drawing with prevIoUs canvas drawing
try oldDrawing = PKDrawing.init(data: canvas.drawing)
print("DRAWING: \(oldDrawing)") // Prints: DRAWING: PKDrawing(drawing: <PKDrawing: 0x600000a70e40 EE83 0 strokes>)
canvasView.drawing = oldDrawing
}
catch {
print("Error info: \(error)")
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)