如果我的用户中的密钥(虚拟货币为空)默认情况下,我试图得到它,然后将其设置为字符串值0。
我试过这个但是因为某种原因它似乎不起作用了?
PFUser *currentUser = [PFUser currentUser];
if ([currentUser[@"Money"] isEqual: @""])
{
currentUser[@"Money"] = @"0";
}
答案 0 :(得分:2)
PFUser *currentUser = [PFUser currentUser];
if ([currentUser[@"Money"] isEqual: [NSNull null]])
{
currentUser[@"Money"] = @"0";
}
答案 1 :(得分:1)
PFObject
(PFUser
的子类)故意表现得像NSDictionary
,您可以在objectForKey:
返回值
与给定键关联的值,如果没有值与键关联,则为nil
。
因此,如果您想检查PFUser
是否为某个键设置了值,则必须检查nil
,例如
if (currentUser[@"Money"] == nil) {
currentUser[@"Money"] = @"0";
}
答案 2 :(得分:0)
如果currentUser [@“Money”]是NSString,请尝试:
PFUser *currentUser = [PFUser currentUser];
if ([currentUser[@"Money"] isEqualToString:@""])
{
currentUser[@"Money"] = @"0";
}
此外,您还可以查看是否[string length] == 0
。这将检查它是否是有效但空字符串(@“”)以及它是否为nil,因为在nil上调用length也将返回0.
如果是NSNumber,请尝试:
PFUser *currentUser = [PFUser currentUser];
if (currentUser[@"Money"]==nil)
{
currentUser[@"Money"] = @"0";
}