0

我使用 CloudKit Dashboard 创建了一条记录,因此记录不是以编程方式创建的。在“默认区域,模型数据”下(抱歉,我需要至少 10 个声望才能发布图像.. :/)所以这是文本版本。

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

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

编号:975f5715-3ccd-4c5f...

创建者:2015 年 1 月 20 日 19:00 创建者:_ac6625... 修改者:修改者:

我的问题如下:

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

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

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

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

4

1 回答 1

0

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

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

CKReference* recordToMatch = [[CKReference alloc] initWithRecordID:dataID action:CKReferenceActionNone];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"dataID == %@", recordToMatch];
于 2015-01-24T15:59:54.127 回答