Parse.com - 获取[PFUser currentUser]中包含的指针数据

时间:2014-06-25 21:34:42

标签: objective-c parse-platform

我正在使用Parse.com iOS SDK,我不知道需要调用哪种方法来确保PFUser currentUser包含其中包含的每个指针的数据。它可能非常简单,但作为这个平台的初学者,我找不到解决方案。

为了澄清,我正在尝试获取以下的用户名项。看起来它总是为null,即使我在继续之前调用[[PFUser currentUser] fetchIfNeeded]

[[[PFUser currentUser] objectForKey:@"partner"] objectForKey:@"username"];

谢谢,

安德烈

2 个答案:

答案 0 :(得分:10)

您可以使用includeKey:

在单个查询中执行此操作
PFQuery *query = [PFUser query];
[query includeKey:@"partner"];
[query includeKey:@"anotherPointerColumnName"];
[query getObjectInBackgroundWithId:[[PFUser currentUser] objectId]
                             block:^(PFObject *populatedUser, NSError *error) {
    PFObject *partner = populatedUser[@"partner"];
    PFObject *another = populatedUser[@"anotherPointerColumnName"];
}];

您还可以使用更深层次,因此如果partner中包含指针,则需要调用deeperPointerColumnName

[query includeKey:@"partner.deeperPointerColumnName"];

然后在完成块中,您可以在获得合作伙伴后阅读:

PFObject *partner = populatedUser[@"partner"];
PFObject *deeper = partner[@"deeperPointerColumnName"];

答案 1 :(得分:0)

好吧,我自己找到了解决方法。看起来解决方案是在继续之前调用指针上的fetch方法:

[[[PFUser currentUser] objectForKey:@"partner"] fetch];

如果有一种更清洁,更快捷的方式(例如自动),我真的很感激任何建议。