gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 13:27:03 28 4
gpt4 key购买 nike

对 Cloudkit 相当陌生,我一直在研究如何对我的数据进行建模。下面我给出了一个与我的模型类似的小代码示例。

struct Street {
var house: [Home]
}

struct Home {
var people: [Person]
var houseNumber: Int
}
struct Person {
var firstName: String
var lastName: String
var age: Int
}

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

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

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

我假设您必须使用引用文献,但我不确定如何去做。

我希望我能清楚地解释我想要做什么。

最佳答案

对于初学者,请查看 Apple 的 CloudKit Quick Start documentation 。它将更详细地介绍我将要说的所有内容,我强烈建议您阅读它。

很像struct如果您在代码中进行了建模,您将在名为 CloudKit Dashboard 的 Web 门户中创建类似的对象。 。将 iCloud 权利正确添加到您的应用 ID 后,您即可使用此门户网站。

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

您的Home那么,记录类型可能有 houseNumber字段,类型为 Int .

CloudKit 处理关系的方式与 Core Data 等本地存储解决方案略有不同。出于效率原因,我们并不真正希望对象保存一组关联的对象,因为获取 Street ,比如说,然后需要获取每个 House ID,然后获取每个Person ID在House .

所以不要放置 House 数组Street 上的对象,我们放置一个 Reference 类型的字段(至 House )在我们的 Street 上记录类型。

因此,通过在 CloudKit Dashboard 中设置这种新的记录类型模型,您可以在代码中创建 CKRecord对象并设置与字段对应的属性。讲述CKRecord代表House哪些人住在里面可以通过设置 house 来完成每个 CKRecord 上的属性s 代表房子里的人。

然后您可以使用 CKQuery 获取房屋。例如,然后通过创建 CKQuery 来获取人员。对于所有具有与 house 中的房屋对象相对应的记录 ID 的“人物”对象引用字段。

参见Adding Reference Fields在 CloudKit 快速入门指南中。

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

关于ios - 如何在 Cloudkit 上创建此数据/模型以将其显示在我的应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37047763/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com