在目标C中检查空的JSON密钥

傻瓜男人

我正在开发一个可返回用户在tableView中搜索的JSON数据的应用程序。有时会返回一个空键,并且如果选择是选择键,似乎会使我的应用程序崩溃。我查找了其他解决方案,但是无论我如何设置“ if”检查,它仍然崩溃。

第一个很奇怪,它可以工作,但是在显示数据的文本视图中显示的是“ {}”,而不是“ Not Available ...”。为什么?

if ([gameDetails objectForKey:@"description"] !=nil) {
    gameDescription.text = [NSString stringWithFormat:@"%@", [gameDetails objectForKey:@"description"]];
}
else
{
    gameDescription.text = [NSString stringWithFormat:@"Not Available..."];
}

不管我如何设置,下一个都将崩溃。

if ([gameDetails objectForKey:@"box_front"] != nil) {
    NSURL *coverImage = [NSURL URLWithString:[gameDetails objectForKey:@"box_front"]];
    NSData *imageLink = [NSData dataWithContentsOfURL:coverImage];
    coverArt.image = [UIImage imageWithData:imageLink];
}
else
{
    NSLog(@"No Photo");
}

有人可以告诉我为什么这些原因导致我的应用程序继续崩溃吗?让我知道是否需要更多信息。

Himanshu padia
NSURL *coverImage = [NSURL URLWithString:[gameDetails objectForKey:@"box_front"]];

//您必须检查CoverImage是否为nil,然后只需要执行以下操作即可。否则写一些有关零的信息。

NSData *imageLink = [NSData dataWithContentsOfURL:coverImage];
coverArt.image = [UIImage imageWithData:imageLink];

//要检查nil或null,可以使用以下代码。

if([[itemDataDict valueForKey:@"ItemNo"] isKindOfClass:[NSString class]])
    {
        if([[itemDataDict valueForKey:@"ItemNo"] isEqualToString:@""] || [[itemDataDict valueForKey:@"ItemNo"] isEqualToString:@"<null>"])
        {
            txtItemNo.text = @"";
        }
        else
        {
            txtItemNo.text = [NSString stringWithFormat:@"%@",[itemDataDict valueForKey:@"ItemNo"]];
        }
    }
else
    {
        txtItemNo.text = @"";
    }

让我知道您是否需要更多信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章