如何检查Parse键是否为空?如果是这样,那么将其更改为0而不是什么都没有

时间:2013-11-02 17:55:38

标签: ios objective-c parse-platform

如果我的用户中的密钥(虚拟货币为空)默认情况下,我试图得到它,然后将其设置为字符串值0。

我试过这个但是因为某种原因它似乎不起作用了?

PFUser *currentUser = [PFUser currentUser];
if ([currentUser[@"Money"]  isEqual: @""])
{
    currentUser[@"Money"] = @"0";

}

3 个答案:

答案 0 :(得分:2)

PFUser *currentUser = [PFUser currentUser];
if ([currentUser[@"Money"]  isEqual: [NSNull null]])
{
    currentUser[@"Money"] = @"0";

}

答案 1 :(得分:1)

PFObjectPFUser的子类)故意表现得像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";

}