Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何避免在其他数据更新之后重新传输大型资产_Ios_Icloud_Cloudkit_Ckasset - Fatal编程技术网

Ios 如何避免在其他数据更新之后重新传输大型资产

Ios 如何避免在其他数据更新之后重新传输大型资产,ios,icloud,cloudkit,ckasset,Ios,Icloud,Cloudkit,Ckasset,我将一个大图像存储为CKAsset,作为记录的一部分,该记录还包含日期和其他可能更改的细节。图像和其他详细信息都存储在我的应用程序中 如果我更改日期(比如)并尝试将记录重新提交到CloudKit(通过创建新记录、设置其数据字段并使用CKModifyRecordsOperation),则CKAsset数据似乎会重新上传并随后下载到所有设备 如果我尝试不在记录中设置CKAsset信息,则会收到“无法修改某些记录”错误消息 如何避免不必要的图像传输(我不担心其他数据被不必要地发送,因为它很小) 我是否

我将一个大图像存储为CKAsset,作为记录的一部分,该记录还包含日期和其他可能更改的细节。图像和其他详细信息都存储在我的应用程序中

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

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

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


我是否应该将CKAsset存储到一个单独的链接记录中,以便在图像发生变化时只需下载图像?

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


这样,小数据项(可能会频繁更新)可以更频繁地同步,而不会使映像对数据上限产生不利影响。

我不一定知道最佳做法,但我也遇到了类似的情况,我为映像设置了单独的记录。作为一个单独的记录,我通过后台下载
CKSubscription
来设置它,这样只有当图像发生变化时,客户端应用程序才能收到下载图像的通知。我最后也单独存储了图像,只花了一两个小时就完成了切换,但现在我控制了一切。