在PFQueryTableView中获取用户名

时间:2015-12-25 17:42:05

标签: ios pointers parse-platform pfquerytableviewcontrolle

我有一个PFQueryTableView,我想显示所有打开的朋友请求。我有一个名为Follow的Parse类,它有标准列和#34;来自",#34;到"和" requestStatus"柱。 "从"和"到"是指向PFUser的指针。现在我查询向当前用户发送好友请求的所有用户(在我的queryForTable中)。之后,我希望我的单元格的titleLabel显示添加我的人的用户名。我试过它,如下面的代码所示,但它总是给我一个错误?!第一个print()工作并向我显示PFUser:0x7f9e6d809c30,objectId:7SIxgfO00Z,localId:(null)。第二个打印(requesUser.username)总是让我的应用程序崩溃!如何获取用户名以在我的表中显示它?

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {

    let cell = tableView.dequeueReusableCellWithIdentifier("newFriendsCell", forIndexPath: indexPath) as! newFriendsCell

    var requestingUser = object?.objectForKey("from") as! PFUser
    print(requestingUser)
    //print(requestingUser.username)


    return cell
}

2 个答案:

答案 0 :(得分:0)

您需要在访问用户名之前获取用户。

requestingUser.fetchInBackgroundWithBlock({ (obj: PFObject?, error: NSError?) in
    let user = obj as! PFUser
    print(user.username)
})

答案 1 :(得分:0)

解决此问题的正确方法是添加

query.includeKey("from")

初始查询。

var requestingUser = object?.objectForKey("from") as! PFUser
然后

将有一个值。