如何使用 CloudKit 仪表板创建参考属性

Posted

技术标签:

【中文标题】如何使用 CloudKit 仪表板创建参考属性【英文标题】:how do I create Reference attribute using CloudKit Dashboard 【发布时间】:2015-01-23 17:57:09 【问题描述】:

我使用 CloudKit Dashboard 创建了一条记录,因此记录不是以编程方式创建的。在“Default Zone, Model Data”下(抱歉,我需要至少 10 个声望才能发布图片.. :/)所以这里是文本版本。

“EventRef0 975f5715-3ccd-4c5f...DeleteSelf 参考”

所以我在创建的记录中有 3 个这样的参考字段。 现在在“默认区域、事件”下。其中一条记录具有以下标题。

ID:975f5715-3ccd-4c5f...

创建时间:2015 年 1 月 20 日 19:00 创建人:_ac6625... 修改:修改人:

我的问题如下:

1) 我在 EventRef0 的“参考”字段中输入了什么?我目前拥有的事件 ID 还是其他?

2) 这是创建多个引用的正确方法吗,即为我要引用的 3 个事件创建 3 个引用?

3) 当我想获取事件时,我可以在一次调用数组中获取所有 CKReference,然后获取索引该数组的事件数据,还是必须单独调用才能获取每个事件?我希望有一种方法可以通过键入“引用”属性来获取数组中的所有引用。不确定这是否可能。最好是斯威夫特。

任何帮助将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

如果您有一个“数据”记录类型,它将引用多个“事件”记录类型对象,那么您应该在“事件”记录类型中添加一个 CKReference,其中 CKReference 指向“数据”对象。因此数据对象不需要对“事件”对象有 CKReference。您可以通过在 CKReference 字段中查询“数据”对象的 id 来获取所有事件对象。

只需使用如下谓词查询您的“事件”记录类型:

CKReference* recordToMatch = [[CKReference alloc] initWithRecordID:dataID action:CKReferenceActionNone];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"dataID == %@", recordToMatch];

【讨论】:

非常感谢任何用于创建将多个 CKReference 提取到数组中的查询的代码参考。谢谢。

以上是关于如何使用 CloudKit 仪表板创建参考属性的主要内容,如果未能解决你的问题,请参考以下文章

如何允许任何用户在 cloudkit 仪表板中预览其数据库?

如何查看保存在 CloudKit Dashboard 中的值?

如何使用cloudkit设置“报告不当内容”?

在 CloudKit 仪表板中创建布尔字段

如何通过 CloudKit Dashboard 查找用户记录

CloudKit iOS我如何设置世界写入权限