在Parse中从用户类中检索布尔值

我无法弄清楚如何从Parse中的用户类中检索布尔值。 此代码不适用于我:

PFUser *user = [PFUser currentUser]; NSNumber *boolNumber = [user objectForKey:@"bool"]; BOOL b = [boolNumber boolValue]; NSLog(@"%d", b); 

任何人都知道这样做的正确方法?

你所做的一切在检索时看起来都很好。 这可能是你设置variables/保存用户的错误。 尝试这样的事情,看看它是否工作。

 PFUser *user = [PFUser currentUser]; user[@"likesFruit"] = @(YES); // You can set it to @(NO) also. It doesn't matter. This is just an example. [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { if (succeeded) { BOOL likesFruit = [user[@"likesFruit"] boolValue]; NSLog(@"Does this user like fruit?\n%@", (likesFruit) ? @"Yes" : @"No"); } else { NSLog(@"Error saving user: %@", error); } }]; 

确保您的检索是安全的另一种方法是这样的:

 [user fetchIfNeededInBackgroundWithBlock:^(PFObject *object, NSError *error) { if (!error) { BOOL likesFruit = [object[@"likesFruit"] boolValue]; NSLog(@"This user %@ like fruit", likesFruit ? @"does" : @"doesn't"); } else { NSLog(@"Error retrieving user data: %@", error); } }]; 

尝试这个:

 PFUser *user = [PFUser currentUser]; BOOL boolean = [[user objectForKey@"bool"] boolValue];