我需要从数据库中获取一些'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没有完全加载:
我得到的是:
法赫{
}
我想要的是:
法赫{
name=德语;
}
最佳答案
在query.includeKey("fach")
上面加上query.findObjectsInBackgroundWithBlock
可以解决这个问题。
从PFQuery class reference,includeKey
将
使查询包含在提供的键上存储了引用的PFObjects。
关于ios - 解析:PFObject加载时不带属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33334769/