解析:加载 PFObject 时没有属性

Parse: PFObject is loaded without Attributes

我需要从数据库中获取一些 'Kurse' (PFObjects),然后我需要获取另一个 PFObject 的名称,它是 'kurs' 的指针,但是如果我尝试这样做什么都没发生。没有错误,程序没有中断或类似的东西,但没有打印 "test2"!

let user = PFUser.currentUser()

    let query = PFQuery(className: "Kurs")
    query.whereKey("stufe", equalTo: user!["stufe"])

    query.findObjectsInBackgroundWithBlock { (objects: [PFObject]?, error: NSError?) -> Void in
        if error != nil {
            print(error)
        }
        else if let kurse = objects{
            print("kurse:", kurse)
            for kurs in kurse{
                print("kurs:", kurs)
                var gibtEsSchon = false

                if gibtEsSchon == false{
                    print("test1")


                    let fach = kurs["fach"] as! PFObject
                    print("fach", fach)
                    let name = fach["name"] as! String
                    print("test2")
                    self.daten.append(Fach(dieKurse: [kurs], name: name))
                    print("daten 3", self.daten)
                }

            }

        }

所以行

 let name = fach["name"] as! String

未调用。

但我想我知道原因了:如果我打印("fach", fach) 结果没有它应该有的属性'name'。我认为 PFObject 没有完全加载:

我得到的:

fach { }

我想要的:

fach { name = German; }

query.findObjectsInBackgroundWithBlock 上方添加 query.includeKey("fach") 应该可以解决这个问题。 从 PFQuery class referenceincludeKey

Make the query include PFObjects that have a reference stored at the provided key.