应用程序崩溃当标题不存在时

时间:2013-12-01 22:39:46

标签: ios objective-c cocoa-touch nsdictionary instagram

我的应用程序显示Instagram图片的标题,并在每次没有标题时崩溃。我该如何防止这种情况发生?这是我正在使用的代码:

if (entry[@"caption"][@"text"]) {
    NSString *caption = entry[@"caption"][@"text"];
    UILabel *instagramCaptionLabel = (UILabel *)[cell viewWithTag:103];
    [instagramCaptionLabel setFont:[UIFont fontWithName:@"Helvetica-Light" size:12.0]];
    [instagramCaptionLabel setText:caption];
}

这是错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull objectForKeyedSubscript:]: unrecognized selector sent to instance 0x1ed8068'

1 个答案:

答案 0 :(得分:5)

根据错误消息,这意味着您确实拥有@"caption"的值,但它恰好是NSNull个对象。

您有两种选择:

1)不要将NSNull值放在字典中。

2)更新if声明:

if (entry[@"caption"] != [NSNull null] && entry[@"caption"][@"text"] != [NSNull null])