【发布时间】:2016-05-31 23:31:49
【问题描述】:
据我所知,以下代码(或非常接近的代码)将从 recordtype 数组中检索一个 cloudkit 实例...
let pred = NSPredicate(value: true)
let query = CKQuery(recordType: "Stores", predicate: pred)
publicDatabase.performQuery(query, inZoneWithID: nil) { (result, error) in
if error != nil
{
print("Error" + (error?.localizedDescription)!)
}
else
{
if result?.count > 0
{
let record = result![0]
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.txtDesc.text = record.objectForKey("storeDesc") as? String
self.position = record.objectForKey("storeLocation") as! CLLocation
let img = record.objectForKey("storeImage") as! CKAsset
self.storeImage.image = UIImage(contentsOfFile: img.fileURL.path!)
....(& so on)
但是,我将如何以及何时(代码中的物理位置?)进行查询,以便我可以将每个单元格设置为我的 DiningType 记录中每个实例的信息?
例如,我会在 didreceivememory 警告函数中进行查询吗?或在cellforRowatIndexPath 中?或其他!
如果我对上面的代码有误解,请在注释中记下来,此时所有的帮助都是有价值的,非常感谢。
【问题讨论】:
-
您的网点连接正确吗?如果您没有实现此代码,您可以更改它们吗?如果是这样,只需添加 self.tableView.reloadData()。您正在实现异步代码,您的 tableView 在结果返回之前默认加载。
-
从哪里开始 - 我发布的代码取自教程(youtube.com/watch?v=J9BJijpVkyE)l 我关注了。不幸的是,教程允许我输入一个名称,而不是简单地从 icloud 下载所有信息已经定义了实例并下载实例的剩余数据。然而,这一切都在它自己的“搜索”UIButton中。所以我主要想知道我将在哪里输入我的谓词/查询/记录代码以便能够创建一个包含该信息的表格。
-
appcoda.com/cloudkit-introduction-tutorial - 假设我可以完成从 swift 到 swift 2 的转换,我会看看这个并回过头来回答我自己的问题。
标签: swift tableview instance icloud cloudkit