如何避免大型CKAssets的重新传输,跟随其他数据更新
Posted
技术标签:
【中文标题】如何避免大型CKAssets的重新传输,跟随其他数据更新【英文标题】:How to avoid the retransfer of large CKAssets, following other data updates 【发布时间】:2016-10-29 15:48:58 【问题描述】:我有一个存储为 CKAsset 的大图像,作为记录的一部分,其中还包含可能会更改的日期和其他详细信息。图片和其他详细信息都存储在我的应用本地。
如果我更改日期(例如)并尝试将记录重新提交给 CloudKit(通过创建新记录、设置其数据字段并使用 CKModifyRecordsOperation),则似乎 CKAsset 数据被重新上传并随后下载到所有设备。
如果我尝试不在记录中设置 CKAsset 信息,我会收到“修改某些记录失败”错误消息。
如何避免不必要的图像传输(我不担心其他数据被不必要地发送,因为它很小)?
我是否应该将 CKAsset 存储到单独的链接记录中,这样我只需要在图像更改时下载图像吗?
【问题讨论】:
我不一定知道最佳实践,但我处于类似情况,并且我确实为图像设置了单独的记录。作为单独的记录,我将其设置为后台下载CKSubscription
,以便客户端应用程序仅在图像更改时才可以通知下载。
我最终也将图像分开存储,只花了一两个小时来转换,但现在我可以控制一切。
【参考方案1】:
为避免不必要的大数据块传输,您可以将图像存储在单独的记录中。
这样,小数据项(可能会经常更新)可以更频繁地同步,而不会对您的数据上限产生不利影响。
【讨论】:
以上是关于如何避免大型CKAssets的重新传输,跟随其他数据更新的主要内容,如果未能解决你的问题,请参考以下文章