如何使用 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 中的值?