将数据从文档存储更改为 CloudKit

Changing data from document storage to CloudKit

我有一组对象,当前存储在应用程序沙箱的文档目录中。我想将这些数据备份到用户的云中,并允许具有相同 iCloud 帐户的多个用户共享数据,并在有人更改某些内容时启用推送通知。这是一个预算应用程序,所以如果您的配偶购买了东西并将购买输入到应用程序中,您将收到推送通知。我听说 CloudKit 是 "so easy",所以我认为这是一个很好的解决方案。我想不出一个好方法来将这个支出数据数组加载到 Record 结构中。

例如,我有 100 笔交易(每笔交易都有日期、金额和描述)。现在它们存储在自定义对象 SpendingData 的数组中。我是否必须遍历所有这些交易并在 Cloud 仪表板中为每个交易创建唯一的记录?这不会杀死(或至少降低)我的应用程序吗?有一个更好的方法吗?谢谢!

我认为处理这些交易的最佳方式仍然是每笔交易单独记录。然后,当有新交易时,您只需写入 1 条记录,您的家人将仅收到该新交易的推送通知。然后,您可以在该推送通知中包含该交易的一些数据。类似于:'AAA added a new transaction for BBB'

为了让您的应用程序保持响应,您应该将这些事务保存在内存中并将它们写入磁盘(核心数据或文件),以便在应用程序重新启动时您可以加载它们并且您的应用程序将拥有所有可用数据而无需等待从互联网上获取。