Swift: 保存public CKRecord 到私有数据库

Swift: Save public CKRecord to private database

总的来说,我是 CloudKit 和 Swift 的新手。我已经设置了一个应用程序来下载记录并将它们放入集合视图中。这些记录是电影。我正在寻找一种方法让用户 "like" 一部电影,然后将这部电影移动到他们的 "My Movies" 视图控制器。我能想到的唯一方法是将 public 数据传输到该用户的私有数据库。然后 "My Movies" 会填充他们 "liked".

的电影

感谢任何帮助!

您必须知道,当您将数据保存到私有数据库时,您不能使用创建数据的帐户以外的其他帐户查询该数据。对于您的情况,您可以在 publicDatabase 中创建一个新的 recordType。该 recordType 然后将有一个 CKReference 类型的字段,您可以在其中保存您的用户 ID。然后,您可以添加第二个字段,其中包含喜欢的电影的 recordID 数组。

为了创建我的电影列表,首先查询新的记录类型以找到包含喜欢的电影的记录。然后在那之后查询它的 recordId 是喜欢的 recordId 之一的电影

这种方法的好处是您还可以查询某部电影的点赞频率。