gpt4 book ai didi

ios - 如何将 CGPaths 持久化到 CoreData

转载 作者:行者123 更新时间:2023-11-28 05:47:54 25 4
gpt4 key购买 nike

我正在 iOS 上制作绘图应用程序,并希望将用户绘图保存到核心数据。

我知道 NSData 是 CoreData 的一种属性类型,所以我正在考虑使用它。

我的想法是以某种方式将我的 CGPath 数组转换为 NSData,然后将 NSData 保存到 Core Data。有没有人知道我将如何执行此操作或有更好的解决方案?

最佳答案

如果您将 CGPath 转换为支持 NSCoding/NSSecureCodingUIBezierPath:

do {
let path = UIBezierPath(cgPath: cgPath)
let data = try NSKeyedArchiver.archivedData(withRootObject: path, requiringSecureCoding: false)
} catch {
print(error)
}

您还可以将 Data 转换回 UIBezierPath:

do {
if let path = try NSKeyedUnarchiver.unarchivedObject(ofClass: UIBezierPath.self, from: data) {
let cgPath = path.cgPath
}
} catch {
print(error)
}

关于ios - 如何将 CGPaths 持久化到 CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53992867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com