我正在使用RestKit从Web服务API提取数据,当API响应带有空数组“Image”时,UITableView
崩溃。
我想知道“if声明”是否最能解决问题?
cellForRowAtIndexPath
,在有图像数组时效果很好:
Images *imageLocal = [apiResponseLocal.images objectAtIndex:0];
NSString *imageURL = [NSString stringWithFormat:@"%@", imageLocal.url];
我最好的猜测不适用于“if语句”
if ([imageURL isEqualToString:@""])
{
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://staticimage.com/to/use/when/no/image/from/api"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
}
else
{
[cell.imageView setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@", imageURL]] placeholderImage:[UIImage imageNamed:@"placeholder"]];
}
我不确定我是否正在尝试使用“if语句”进行解决,或者实际的声明可能是什么。任何帮助将不胜感激!
修改:
错误&当NSArray
中没有图像并且我尝试向特定单元格滚动TableView时,我得到崩溃"_NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array"
答案 0 :(得分:3)
在访问任何索引之前,您需要检查数组计数并处理它是否小于1。 这是进行默认无图像图像URL逻辑的地方。