我需要得到一些' 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 =德语; }
答案 0 :(得分:2)
在query.includeKey("fach")
之上添加query.findObjectsInBackgroundWithBlock
应该可以解决这个问题。
从PFQuery class reference,includeKey
将
使查询包含在提供的密钥中存储引用的PFObject。