3
我有一個RecordType Account
和另一個Friends
。 對於Account
我在創建每條記錄時設置了RecordID
,並且我有一列Name
。使用Swift的CloudKit上的CKReference
對於朋友我有兩欄,Me
和MyFriend
。 MyFriend
是包含帳戶的RecordID
的參考。
如何獲取我的朋友的賬戶名稱? 我需要查詢朋友才能獲取Me
是我的RecordID
的所有記錄,然後我需要使用這些記錄引用從帳戶表中獲取姓名。
我曾嘗試以下,但我沒有得到任何結果:
let predicate = NSPredicate(format: "Me = %@", recordID)
let query = CKQuery(recordType: "Friends", predicate: predicate)
publicDB.performQuery(query, inZoneWithID: nil) { (results, error) -> Void in
if error != nil {
println("Error fetching from Friends table: \(error.description)")
} else {
for friend in results {
var key = friend.objectForKey("MyFriend") as String
self.publicDB.fetchRecordWithID(CKRecordID(recordName: key), completionHandler: { (record, error) -> Void in
if error != nil {
println(error.description)
} else {
self.friends.append(record.objectForKey("Name") as String)
}
})
}
dispatch_semaphore_signal(self.semaphore)
}
}
dispatch_semaphore_wait(self.semaphore, DISPATCH_TIME_FOREVER)`
您嘗試過什麼嗎? – Phate01
我已更新我的問題。謝謝。 –
CKReference是你的'我'字段嗎?然後,您在謂詞中使用的值應該是CKReference類型。您正在使用recordID。我懷疑這個字段的類型是recordID嗎?那麼你應該首先創建一個CKReference。 –