Parse.com:PFQuery从PFUser currentUser查询数据

时间:2012-12-01 20:36:29

标签: iphone objective-c ios parse-platform

在我的iOS应用中,我使用的是Parse.com框架。当应用首次启动或用户未登录时,PFLogInViewControllerPFSignUpViewController将显示在视图中。当用户创建他/她的帐户时,应用程序将像往常一样自动创建用户,但它也会在用户下创建另一个名为isPrivate的变量,该变量调用布尔值。我的问题是如何使用PFQuery获取isPrivate的{​​{1}}值?

2 个答案:

答案 0 :(得分:6)

在玩了PFObject,PFUser和PFQuery后,我找到了问题的答案。 您必须创建PF查询PFUser类,然后您必须将查询缩小到仅currentUser username,然后您请求isPrivate的值。

PFQuery *query= [PFUser query];

[query whereKey:@"username" equalTo:[[PFUser currentUser]username]];

[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error){

    BOOL isPrivate = [[object objectForKey:@"isPrivate"]boolValue];

}];

答案 1 :(得分:6)

查询可帮助您找到符合条件的许多对象。当您已经知道所需的对象(当前用户)时,这并不适用。您可以使用

决定currentUser是否为私有
[PFUser.currentUser[@"isPrivate"] boolValue];

虽然在这种特殊情况下,您实际上不需要保留单独的字段来确定用户是否是匿名用户(自动用户创建的类型)。尝试:

[PFAnonymousUtils isLinkedWithUser:PFUser.currentUser];

这适用于所有身份验证工具(PFFacebookUtils,PFTwitterUtils和PFAnonymousUtils)。 isLinkedWithUser确定这些身份验证系统是否具有特定用户的凭据。