我正在开发一个应用程序,它将一组相对较小的记录存储到CloudKit公共数据库中。应用程序的每个用户都将读取这些记录但不更新它们。除了这个应用程序,我正在创建一个配套应用程序,我和一小组管理员将能够用来更新该公共数据库中的记录。
我有使用基本CloudKit操作的管理员应用程序的基本操作。我现在正在尝试实现一项需要一起更改多个记录类型的功能。如果应用程序用户要获取其中一个更新记录而不是其他用户,则他们的系统将处于不一致状态,因此我希望避免这种情况。
理想的解决方案是管理员应用程序使用单个CKModifyRecordsOperation
将更改提交到所有相关记录,并将该操作的atomic
属性设置为true
。遗憾的是,CloudKit公共数据库的默认记录区域不支持原子操作,公共数据库不支持自定义记录区域。因此,似乎没有任何方法可以自动将更改应用于公共CloudKit数据库。
作为一种解决方法,我正在考虑使用管理员应用程序将使用的私有数据库。该数据库可以有一个支持我需要原子操作的自定义记录区。但是,这并不能帮助我将完成的记录复制到公共数据库中。
我想知道是否有任何支持的方法告诉CloudKit将一组记录从一个记录区复制到另一个记录区。我怀疑没有办法做到这一点,但我希望我能错过一些东西。
假设在CloudKit中没有直接支持的方式来执行此操作,是否有人建议进行设计更改,这样我就可以通过公共CloudKit数据库以支持多个记录的原子更新的方式向我的应用程序用户提供数据?
由于