我在Parse上有一个叫做“OnlineUsers”的课程(截图如下)。其中一个字段是“user”,它是指向“User”表中用户的指针。我的问题是我无法从“OnlineUsers”类“users”字段/对象中获取“User”指针。
“user”字段是指向“User”类中用户的指针。我正在保存数据,因为当我点击“OnlineUsers”类中的“user”字段时,我将被带到Parse网络浏览器上的Users类条目(见下文)。
现在我想在下面的代码中从“OnlineUsers”类中获取“user”字段对象。我也把错误放在下面。
func printobJectIdsWithoutMe() {
let usersToPrint = PFQuery(className: "OnlineUsers")
usersToPrint.whereKey("user", notEqualTo: PFUser.currentUser()!)
usersToPrint.findObjectsInBackgroundWithBlock({ (results:[AnyObject]?, error:NSError?) -> Void in
if error == nil {
if results!.count > 0 {
println("launchChatwithRandomUser() -- There are more than zero objects in Class, results.count = " + String(results!.count))
let usersOnlineNow = results as! [PFObject]
for user in usersOnlineNow {
//println(user["user"]!.objectId)
let userObject:PFUser = user["user"]as! PFUser
println(userObject.username!) //THIS NEVER PRINTS
}
} else {
println("launchChatwithRandomUser() -- There are ZERO objects in Class, results.count = " + String(results!.count))
}
} else {
println("failed with error in usersToPrint.findObjectsInBackgroundWithBlock")
}
})
}
println语句的输出如下(注意只有一个打印):
launchChatwithRandomUser() -- There are more than zero objects in Class, results.count = 2
问题 :为什么这从未打印过任何内容?
println(userObject.username!)
//这绝不是打印
答案 0 :(得分:0)
OK ..诀窍是使用PFQuery includeKey让Parse自动填充相关的指针数据。将下载用户数据,而无需您进行其他查询。
let usersToPrint = PFQuery(className: "OnlineUsers")
query.includeKey("User")
尝试添加此行。希望它有所帮助...... :)