在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];