从核心数据中保存 CKAsset

Posted

技术标签:

【中文标题】从核心数据中保存 CKAsset【英文标题】:Saving CKAsset from Core Data 【发布时间】:2017-11-17 18:23:42 【问题描述】:

我有一些像图片这样的数据,作为二进制数据存储在 Core Data 中,并标记为“允许外部存储”。我想将此数据写入 CloudKit。是否可以获取此数据的 URL 并将其传递给 CKAsset,或者以某种方式将此数据转换为 CKAsset,而无需将此数据重复写入某些临时文件?谢谢。

【问题讨论】:

【参考方案1】:

不支持直接访问外部二进制数据,也没有相应的 API。非正式地,不难弄清楚文件存储在哪个目录中,但它没有用,因为

文件名是 UUID,并且没有将托管对象链接到 UUID 的记录方法,因此您不知道要使用哪个文件。 选项是允许外部存储,因此不能保证外部文件存在。某些实例可能不使用外部存储。

我不确定CKAsset 需要什么,但您必须先通过托管对象查找二进制数据。

【讨论】:

以上是关于从核心数据中保存 CKAsset的主要内容,如果未能解决你的问题,请参考以下文章

CKAsset 未保存到 CloudKit - 保存所有其他字段

从核心数据中保存和检索数据

如何将从核心数据加载的数据保存在数组中?

从后台线程保存数据时核心数据崩溃

SwiftUI:如何从核心数据中的 TextField 中保存值

如何从 NotificationServiceExtension 将远程通知数据保存到核心数据(数据库)中