我正在尝试将 Apple Pencil 支持添加到我的思维导图应用程序中。我已经在我的应用程序中使用 Core Data 来进行数据持久性,这一切都很好,没有任何错误。
我的 Apple Pencil 功能正常,但存储 Apple Pencil 数据时遇到问题。
我试图将 PKDrawing 对象添加到我的 MindMap 数据模型中,但我不断收到编译时错误“在范围内找不到类型 'PKDrawing'”
就我而言,我可以将 PKDrawing 对象存储到核心数据中,然后在应用程序加载时将其取回。但我显然没有做正确的事情。
非常感谢任何帮助。
谢谢
更新:
所以我用过:
func convertToData(pkdrawing: PKDrawing) -> Data {
let data = pkdrawing.dataRepresentation()
return data
}
然后更新了我的模型数据和 savedContext 似乎一切正常。问题是当我尝试在打开应用程序时初始化数据时。我有:
func createDrawing(data: Data) -> PKDrawing {
var loadedDrawing: PKDrawing
do {
try loadedDrawing = PKDrawing.init(from: data as! Decoder)
return loadedDrawing
} catch {
print("Error loading drawing object")
return PKDrawing()
}
}
这给了我错误:
无法将“Foundation.Data”(0x1f3851a98)类型的值转换为“Swift.Decoder”(0x1ee5381a8)。2021-09-24 06:22:58.912173+0100 MindMappingApp [1137:612856] 无法将“Foundation.Data”(0x1f3851a98)类型的值转换为“Swift.Decoder”(0x1ee5381a8)。
我试过了:
尝试loadedDrawing = PKDrawing.init(来自:数据为!解码器)
作为:
尝试loadedDrawing = PKDrawing.init(来自:数据)
但我不断得到:
参数类型“数据”不符合预期类型“解码器”
有任何想法吗?提前致谢 :)