【问题标题】:Create Reference List Pointing to Multiple CKRecords in CloudKit在 CloudKit 中创建指向多个 CKRecord 的引用列表
【发布时间】:2017-09-06 05:19:06
【问题描述】:

Swift 3.1、Xcode 8.3.3

我在 CloudKit 中有一个名为 Aircraft 的记录类型,它有一个名为 fieldValues 的字段,其类型为 Reference List

在我的代码中,我有一个 aircraft CKRecord 和几个 fieldValue CKRecord,它们是飞机的子项。

如何将所有fieldValue 记录放入aircraft 的参考列表中?

创建CKReference 似乎只允许其中有一条记录:

let reference = CKReference(record: fieldValueRecord, action: .deleteSelf)

但我正在尝试将多个 fieldValues 连接到单个 aircraft。有任何想法吗?

【问题讨论】:

    标签: cloudkit ckreference


    【解决方案1】:

    Swift 3.1、Xcode 8.3.3

    经过反复试验,我终于弄明白了。它是这样的:

    //Parent record (Aircraft)
    let recordAircraft = CKRecord(recordType: "Aircraft", recordID: ...)
    
    //Add child references (FieldValue). As far as I know, the child records must have already been created and sent to CloudKit
    var fieldValueReferences = [CKReference]()
    
    for fieldValue in fieldValues{
      let ref = CKReference(record: fieldValue, action: .deleteSelf)
      fieldValueReferences.append(ref)
    }
    
    //Assign the array of references to the key that represents your Reference List field
    recordAircraft["fieldValues"] = fieldValueReferences as CKRecordValue
    

    我希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-18
      • 2021-01-25
      • 1970-01-01
      • 2015-10-02
      相关资源
      最近更新 更多