我有一个名为Post的类,它存储图像、文本和upLoader的数据。 上传者是指向 User 类的链接或指针。
我测试的时候 当当前用户等于所指向的用户时,一切都很好。但是,当当前用户不等于上传者时,我无法从上传者那里获取用户名和电子邮件等数据。我可以检索的唯一数据是 [ { }]
查询代码
let query = PFQuery(className:"Post")
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
print("Successfully retrieved \(objects!.count) scores.")
if let objects = objects! as [PFObject]! {
for object in objects {
self.message.append(object["message"] as! String)
self.imageFiles.append(object["imageFile"] as! PFFile)
self.user.append(object["upLoader"] as! PFUser )
self.createdAT.append(object.createdAt!)
self.tableView.reloadData()
}
}
} else {
print("Error: \(error!) \(error!.userInfo)")
}
有人可以帮助我吗? 谢谢
最佳答案
默认情况下,Parse 查询不包含指针引用的实际对象,因此您的 upLoader
只是对对象 ID 的引用,而不是实际对象。要包含实际对象,您只需将 includeKey
添加到查询中。例如:
let query = PFQuery(className:"Post")
query.includeKey("upLoader") // This should do the trick.
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
if error == nil {
print("Successfully retrieved \(objects!.count) scores.")
if let returnedObjects = objects {
for object in returnedObjects {
self.message.append(object["message"] as! String)
self.imageFiles.append(object["imageFile"] as! PFFile)
self.user.append(object["upLoader"] as! PFUser )
self.createdAT.append(object.createdAt!)
dispach_async(dispatch_get_main_queue(), { () -> Void in
//UI stuff need to be on main thread
self.tableView.reloadData()
})
}
}
} else {
print("Error: \(error!) \(error!.userInfo)")
}
}
关于ios - 通过指针从用户类检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33586023/