2016-10-29 86 views
1

我有一个大型图像存储为CKAsset,作为记录的一部分,该记录还包含日期和其他可能会更改的详细信息。图像和其他细节都存储在我的应用程序本地。如何避免重新传输大型CKAssets,继其他数据更新

如果我更改日期(例如)并尝试重新提交记录到CloudKit(通过创建新记录,设置其数据字段并使用CKModifyRecordsOperation),CKAsset数据将重新上传并随后下载到所有设备。

如果我尝试不在记录中设置CKAsset信息,我会收到“无法修改某些记录”的错误消息。

如何避免不必要的图像传输(我不担心其他数据不必要地发送,因为它很小)?

我是否应该将CKAsset存储到单独链接的记录中,以便在更改时只需下载图像?

+0

我不一定知道最佳做法,但我处于类似的情况,并且我为图像设置了单独的记录。作为一个单独的记录,我使用后台下载的“CKSubscription”进行设置,以便只有在客户端应用程序发生变化时才能通知客户端应用程序下载图像。 –

+1

我最终还是分开存储图像,只花了一两个小时就改变了过来,但现在我掌控了一切。 –

回答

2

为避免大块数据发生额外的不必要传输,可以将图像存储在单独的记录中。

通过这种方式,可以更频繁地同步小数据项(可能会频繁更新),而不会影响图像对数据上限的不利影响。

相关问题