【发布时间】:2016-03-03 05:03:49
【问题描述】:
我正在为使用 CloudKit 作为后端的特定团队制作一个任务应用程序。我已经进行了设置,以便您看到的第一个屏幕是团队列表。当您选择团队时,我只想查看与该特定团队相关的所有任务。我已经让应用程序保存和获取任务,但所有任务都出现在每个团队下。
我对 CloudKit 很陌生(我之前使用过 Parse),对谓词也很陌生。目前,我使用prepareForSegue 函数将团队记录ID 作为字符串传递给我的任务视图控制器。在 Parse 中,这就是我为该团队获取任务所需的全部内容。当我查看 CloudKit 仪表板时,我可以看到保存工作正常(每个任务的记录中都有正确的团队记录 ID)。
我知道问题出在下一段代码中,但我不确定如何去做。
func loadTasks() {
tasks = [CKRecord]()
let query = CKQuery(recordType: "Tasks", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil))
publicData.performQuery(query, inZoneWithID: nil) { (results:[CKRecord]?, error:NSError?) -> Void in
if let tasks = results {
self.tasks = tasks
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.tableView.reloadData()
})
}
}
self.refreshControl?.endRefreshing()
}
所以我想我在问如何使用谓词来过滤数据以仅显示所选团队的任务。我只有我目前拥有的,因为我遵循了一个教程。
【问题讨论】: