我从服务获取一些JSON数据,一个属性是表示图像URL的字符串,似乎返回的是NULL,我做检查但是XCode在我的if语句之前中断并生成异常.这是我的代码如下:
- (void)configureCellForAlbum:(Album *)album {
self.albumTitle.text = album.albumTitle;
self.artisteName.text = album.artisteName;
NSURL *imageUrl = [NSURL URLWithString:album.thumbnail];
if (imageUrl == nil) {
self.albumThumbnail.image = [UIImage imageNamed:@"music_record"];
}
else {
self.albumThumbnail.imageURL = imageUrl;
}
}
Run Code Online (Sandbox Code Playgroud)
例外是
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [NSNull length]:发送到实例的无法识别的选择器.
我如何进行检查,以便如果值为null,则使用本地图像但如果不为null则使用返回的图像字符串url?
nil 如果没有找到具有该键的对象,则由字典返回.
NSNullJSON解析器插入一个实例,以指示存在空值键.
你需要检查你得到的对象是否真的是一个字符串.你没有抓住有一个对象的情况,但它不是一个字符串.
例如
if ([albm.thumbnail isKindOfClass:[NSString class]])
... a string-form URL is present ...
else
.... something else, or nothing, was found; use a fallback ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9359 次 |
| 最近记录: |