CloudKit CKReference 列表
Posted
技术标签:
【中文标题】CloudKit CKReference 列表【英文标题】:CloudKit CKReference List 【发布时间】:2015-08-07 08:02:36 【问题描述】:所以我有一个包含一个字段的记录,该字段是一个 CKReference 列表。
现在我想批量获取所有引用的(通过此 CKReferences 列表)记录(来自另一种类型)。
有什么想法吗?
【问题讨论】:
【参考方案1】:假设您有一条记录“公司”,并且他们有一个名为“员工”的 CKReference 列表字段。
为公司进行获取很容易,但是一旦您有了 companyRecord,您现在就想获取它的员工。你可以这样做:
//first you need to create an array of employee record IDs
var employeeRecordIds = [CKRecordID]()
for employeeReference in companyRecord["Employees"] as! [CKReference]
employeeRecordIds.append(employeeReference.recordID)
//now you can fetch those employees
var fetchOperation = CKFetchRecordsOperation(recordIDs: employeeRecordIds)
fetchOperation.fetchRecordsCompletionBlock =
records, error in
if error != nil
print("\(error!)")
else
for (recordId, record) in records
print("\(record)")
CKContainer.defaultContainer().publicCloudDatabase.addOperation(fetchOperation)
【讨论】:
如果苹果鼓励这样做,为什么不举一个带有反向引用的例子呢? 我删除了关于反向引用的注释,因为它与代码和询问的内容(获取)无关。不知道为什么我一开始就在那里,这只是令人困惑。以上是关于CloudKit CKReference 列表的主要内容,如果未能解决你的问题,请参考以下文章
从 CloudKit 获取包括 CKReference 的数据
CloudKit - 在 CKRecord 中存储多个 CKReference
CKReference 的 CloudKit 订阅通知未按预期工作