.DeleteSelf到底是如何工作的?医生说:
当引用对象的操作设置为CKReferenceActionDeleteSelf时,引用的目标--即存储在引用的recordID属性中的记录--成为源记录的所有者。删除目标(所有者)记录将删除其所有源记录。
但我的印象是,删除目标并不总是删除源。当它留在容器中,客户端下载它,并期望引用指向某个地方,但是在客户端上构建服务器数据存储片时,目标并不存在,这是非常恼人的吗?
你怎么看待这个案子?你忽略了这类记录?还是定期查找CloudKit存储,搜索损坏的记录以删除它们?
或者,与其删除记录,不如设置它处于已删除状态的属性,但将其保存在数据库中吗?
发布于 2016-07-27 07:06:05
我只是挣扎了一段时间,我想我应该分享我的发现.
从根本上说,这是一个许可问题。只有当删除记录的用户对需要删除的所有记录具有“写”权限时,级联删除才能工作。因此,在CloudKit仪表板中,级联删除只适用于用开发人员的iCloud帐户创建的记录。
如果需要删除不属于删除这些记录的用户的记录,则可以在“安全”下为记录类型添加“写”权限。

发布于 2016-04-05 13:44:36
如果要通过CloudKit仪表板删除,则必须在切换记录类型之前等待以检查引用的另一端。更有可能的是,您切换之前,删除实际发生。您可以在“网络”选项卡上使用Safari的Web检查器来检查删除何时实际完成。删除多个记录需要很长时间。
https://stackoverflow.com/questions/32788980
复制相似问题