Swift 使用指针解析查询

Swift Parse Query Using A Pointer

我必须查询一个名为 "Commitment" 的 class,它有一个名为 "need" 的指针。我需要能够在查询 Commitment 时访问 need 指针中的数据。我必须查询 Commitment,因为我必须针对当前用户检查 "committer" 对象。本质上我希望能够看到当前用户已经承诺的需求。

承诺Class:

需要Class:

let query = PFQuery(className: "Commitment")
     query.order(byDescending: "createdAt")
    query.whereKey("committer", equalTo:  PFUser.current()!)
    query.includeKey("need")
    query.findObjectsInBackground {
        (objects: [PFObject]?, error: Error?) -> Void in
        if let objects = objects as [PFObject]? {
            self.committment = []
            self.commitObject = []
            for object in objects {

                self.committment.append(Committment(id: object.objectId!, needName: object["needName"] as! String))
                self.commitObject.append(object)
            }
            self.tableView.reloadData()
        } else {
            print("failure")
        }
    }

这是我当前的查询。 needName 上的 returns nil 显然是行不通的。感谢任何帮助。

你得到 nil 的原因是因为你没有访问需要的对象,但你试图从 Commitment 对象中获取它 只需将您的代码更改为如下所示:

let query = PFQuery(className: "Commitment")
     query.order(byDescending: "createdAt")
    query.whereKey("committer", equalTo:  PFUser.current()!)
    query.includeKey("need")
    query.findObjectsInBackground {
        (objects: [PFObject]?, error: Error?) -> Void in
        if let objects = objects as [PFObject]? {
            self.committment = []
            self.commitObject = []
            for object in objects {
                let need = object["need"] as [PFObject]?
                self.committment.append(Committment(id: object.objectId!, needName: need["needName"] as! String))
                self.commitObject.append(object)
            }
            self.tableView.reloadData()
        } else {
            print("failure")
        }
    }

请注意,我首先访问 need 对象并从那里提取 needName 属性.

顺便说一句!我不确定语法是否 100% 准确(我用自由式写的)但我相信你明白了..