5

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

4

2 回答 2

6

在玩弄了 PFObject、PFUser 和 PFQuery 之后,我找到了我的问题的答案。您必须创建一个 PFQuery 查询 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];

}];
于 2012-12-01T22:38:01.650 回答
6

查询可帮助您找到许多符合条件的对象。当您已经知道想要的对象(当前用户)时,这并不真正适用。您可以决定 currentUser 是否是私有的

[PFUser.currentUser[@"isPrivate"] boolValue];

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

[PFAnonymousUtils isLinkedWithUser:PFUser.currentUser];

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

于 2012-12-02T23:51:55.267 回答