我是 CloudKit 和 iOS 开发的新手。我已经手动向 CloudKit 仪表板添加了一些记录,现在我想通过它们的 ID 来检索它们,这些 ID 是自动创建的。然后我想在静态 tableview 单元格的 UILabel 中显示记录的值。有两个问题:1)。使用仪表板中的 ID 时,我在 xCode 中遇到错误(错误显示“预期”、“分隔符”);和 2)。我找不到任何将记录值放入静态 tableview 单元格中的 UILabel 的示例。 (特别是对于快速)。任何帮助是极大的赞赏!
这是我的代码:
override func viewDidLoad() {
super.viewDidLoad()
publicDB.fetchRecordWithID (f7080e7a-f8c3-4db6-b8ee-642a011a6762) { record, error in
if error != nil {
println("there was an error \(error)")
} else {
// this is my UILabel in a static tableview. The record's only attribute is //called "subCategory"
plasticOneValue.text = record["subCategory"]
}
}
}
更新: 或者 - 我尝试了这段代码并且构建成功了,但是控制台说它有一个内部错误并且 UILabel 仍然是空白的......关于我在上面的代码或这段代码中做错了什么的任何建议?
override func viewDidLoad() {
super.viewDidLoad()
// I created a new CKRecord ID Object and provided the existing ID in dashboard and //it fixed the error about requiring a "," separator
var plasticOneID = CKRecordID(recordName: "f7080e7a-f8c3-4db6-b8ee-642a011a6762")
publicDB.fetchRecordWithID (plasticOneID) { record, error in
if error != nil {
println("there was an error \(error)")
} else {
self.plasticOne.text = (record.objectForKey("subCategory") as String)
}
}
}
最佳答案
这是两个不同的问题
那么代码将类似于:
publicDB.fetchRecordWithID(CKRecordID(recordName: "f7080e7a-f8c3-4db6-b8ee-642a011a6762"), completionHandler: {record, error in
if error != nil {
println("there was an error \(error)")
} else {
NSOperationQueue.mainQueue().addOperationWithBlock {
self.plasticOne.text = (record.objectForKey("subCategory") as String)
}
}
})
关于ios - 如何在 CloudKit Dashboard 中使用 "fetchWithRecordID"自动生成 ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27261948/