【问题标题】:how do I create Reference attribute using CloudKit Dashboard如何使用 CloudKit 仪表板创建参考属性
【发布时间】: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,然后获取索引该数组的事件数据,还是必须单独调用才能获取每个事件?我希望有一种方法可以通过键入“引用”属性来获取数组中的所有引用。不确定这是否可能。最好是斯威夫特。

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

【问题讨论】:

    标签: swift dashboard cloudkit ckreference


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢任何用于创建将多个 CKReference 提取到数组中的查询的代码参考。谢谢。
    猜你喜欢
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2020-04-16
    • 2017-03-21
    • 2015-09-18
    • 2011-11-19
    相关资源
    最近更新 更多