.DeleteSelf如何真正起作用?文件说:CKReference .DeleteSelf属性无效
当参考对象的操作设置为 CKReferenceActionDeleteSelf,基准即的目标,存储在参考的的recordId的 记录财产变成源记录的所有者 。删除目标(所有者)记录将删除其所有源记录 。
但我的印象是,删除目标并不总是删除源。当它仍然在容器中,客户端下载它,并且期望参考点位于某处,但在构建客户端上的服务器数据存储片时目标不存在时,它非常烦人。
你如何对待这种情况?你忽略了那种记录?或者定期查找CloudKit存储,搜索损坏的记录以删除它们?
或者不删除一条记录,最好是设置一个属性为已删除状态,但将其保留在数据库中?
您应该可以依靠.DeleteSelf。如果它不起作用,那么你应该在http://bugreport.apple.com上创建一个错误报告。如果你想为这个错误创建一个解决方法,并且由于你正在控制你正在移除的那一刻发生的事情记录我认为最好还是在同一时刻手动删除所有相关记录。 –
我也看到间歇性行为与.DeleteSelf –
我遇到这个问题。我有几个与主表有一对多关系的表。在公共数据库中,我添加主记录,然后添加其他表中的一些记录。如果这一切都是从一个用户完成的,并且其他用户甚至无法访问数据,那么删除主记录会导致所有其他记录按预期被删除。但是,一旦其他用户访问数据,则级联删除不会发生,只会删除主记录。似乎毫无意义,如果你不能指望这个功能。 – rmaddy