如何在Cloudkit上创建此数据/模型以在我的应用程序中显示它?

时间:2016-05-05 10:06:38

标签: ios swift cloudkit

Cloudkit相当新,我一直在弄清楚如何建模我的数据。下面我给出了一小段与我的模型类似的代码示例。

def TRUE  = "TRUE" ^^ (_ => True)

我想将此数据存储在云上,然后获取要在我的应用上显示的数据。事情是我不确定如何存储数据。

我如何存储它以便所有数据都链接在一起?

如果我有一个有名字字段的街道记录,我怎么能将这个名字与该人的年龄联系起来?我需要存储3个不同的记录吗?如果是这样,我将如何将记录链接在一起?

我认为你必须使用参考文献,但我不确定如何去做。

我希望我能够清楚地解释我要做的事情。

1 个答案:

答案 0 :(得分:0)

首先,请查看Apple的CloudKit Quick Start documentation。它会更详细地讨论我要说的所有内容,我强烈建议您阅读它。

与您在代码中建模的struct非常相似,您将在名为CloudKit Dashboard的Web门户中创建类似的对象。在将iCloud权利正确添加到您的应用程序ID后,您将可以使用此Web门户。

在侧边栏中,您将看到"记录类型"。您可以在此处创建对象而无需任何代码。 “快速入门指南”提供了有关如何创建对象的详细信息,也称为"记录类型"。 (该对象的一个​​实例将被称为记录。)基本上,您需要创建与对象的原始属性相对应的字段,但通常不要编辑记录中的唯一标识符'名称字段。例如,您的Person记录类型可能包含字段firstName(类型String),lastName(类型String)和年龄(类型{ {1}})。

您的Int记录类型可能包含Home类型的houseNumber字段。

CloudKit处理关系的方式与Core Data等本地存储解决方案略有不同。出于效率原因,我们并不希望对象拥有一组关联对象,因为提取Int,然后需要获取每个Street ID,然后获取每个{ {1}}中的{1}} ID。

因此,我们不会在House上放置一组Person个对象,而是在House上放置House类型的字段(Street}记录类型。

因此,您可以在CloudKit仪表板中设置这种新的记录类型模型,然后您可以在代码中创建Reference个对象并设置与这些字段对应的属性。通过在代表房屋中的人的每个House上设置Street属性,可以告诉代表CKRecord个人居住的CKRecord

然后,您可以使用House获取房屋,然后通过为所有"人员"创建house来获取房屋。在CKRecord参考字段中具有与房屋对象相对应的记录ID的对象。

请参阅CloudKit快速入门指南中的Adding Reference Fields

编辑:在CloudKit仪表板中设置参考字段的值时,该值将是您引用的记录的唯一ID名称。