【发布时间】:2016-01-02 04:00:09
【问题描述】:
为简单起见,我有两个类Location 和Program。 Location 有objectId 和name,而Program 有objectId、name 和location(这是一个指向LocationObjectId 的指针)。当用户选择一个位置时,如何在查询中返回关联的程序?下面的代码现在不起作用。
let pointer = PFObject(withoutDataWithClassName: "location", objectId: passedLocationID!) //passedLocationID is a string containing the ObjectId from the selected location
let query = PFQuery(className:"Program")
query.whereKey("location", equalTo: pointer.objectId!)
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
if let objects = objects {
for object in objects {
self.programName.append(object["name"] as! String)
self.programID.append(object.objectId! as String)
}
}
} else {
}
此查询将以下错误打印到控制台“指针字段位置需要指针值”
返回相关程序的正确代码是什么?
编辑
我找到了解决方案,但这似乎有点过头了。 Parse 的两个查询,我觉得这应该只使用 1 个查询来完成。
let firstQuery = PFQuery(className: "Location")
firstQuery.whereKey("objectId", equalTo: passedLocationID!)
let secondQuery = PFQuery(className: "Program")
secondQuery.includeKey("location")
secondQuery.whereKey("location", matchesQuery: firstQuery)
secondQuery.findObjects.......
【问题讨论】:
标签: ios swift parse-platform