无法从Parse.com中的类获取用户指针

时间:2015-05-20 04:19:23

标签: ios swift parse-platform

我在Parse上有一个叫做“OnlineUsers”的课程(截图如下)。其中一个字段是“user”,它是指向“User”表中用户的指针。我的问题是我无法从“OnlineUsers”类“users”字段/对象中获取“User”指针。

enter image description here

“user”字段是指向“User”类中用户的指针。我正在保存数据,因为当我点击“OnlineUsers”类中的“user”字段时,我将被带到Parse网络浏览器上的Users类条目(见下文)。

enter image description here

现在我想在下面的代码中从“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!) //这绝不是打印

1 个答案:

答案 0 :(得分:0)

OK ..诀窍是使用PFQuery includeKey让Parse自动填充相关的指针数据。将下载用户数据,而无需您进行其他查询。

let usersToPrint = PFQuery(className: "OnlineUsers")    
query.includeKey("User") 

尝试添加此行。希望它有所帮助...... :)