在 SWIFT (IOS) 中将 UIBezierPath 作为 Blob 存储到 SQLite

Storing UIBezierPath as Blob to SQLite in SWIFT (IOS)

我不知道从哪里开始,所以我只是要求给我一个从哪里开始的提示:-)

我喜欢将 UIBezierPath 之类的对象存储并读回 SQLite 数据库的 blob 字段中。 我已经用 Android Pathes 完成了这个,并且不得不为此编写我自己的 Serializer/Deserializer。

是否已经有任何标准方法可以做到这一点?

如果您查看 UIBezierPath 的文档,它说 class 符合 NSCoding 协议。这意味着您可以使用 NSKeyedArchiver 方法 archivedDataWithRootObject 将贝塞尔路径转换为 ​​NSData。将 NSData 保存到 BLoB 很容易。

然后您将使用 NSKeyedUnarchiver 方法 unarchiveObjectWithData 将数据转换回贝塞尔曲线。

如果您的贝塞尔曲线又大又复杂,您可能想找到另一种存储它们的方法。大型 BLoB 往往会降低 SQL/Core 数据数据库的速度,除非您在设计时小心谨慎。