解析:加载 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 reference、includeKey
到
Make the query include PFObjects that have a reference stored at the provided key.
我需要从数据库中获取一些 '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 reference、includeKey
到
Make the query include PFObjects that have a reference stored at the provided key.