UITableView
当我开始滚动它时,我有一个崩溃。这UITableView
是一个文章列表,每个单元格都有一个关联的标题和从新闻 API 中提取的图像。
如果在我的项目资产中没有来自 API 的图像,我有一个占位符图像和一个图像。
WebListViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
WebListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"WebListCell"];
Feed *feedLocal = [headlinesArray objectAtIndex:indexPath.row];
Images *imageLocal = [feedLocal.images objectAtIndex:0];
NSString *imageURL = [NSString stringWithFormat:@"%@", imageLocal.url];
NSLog(@"img url: %@", imageURL);
__weak UITableViewCell *wcell = cell;
[cell.imageView setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@", imageURL]]
placeholderImage:[UIImage imageNamed:@"background.png"]
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
if(image == nil) {
//realign your table view cell
[wcell.imageView setImage:[UIImage imageNamed:@"placeholder.png"]];
//];
}
}];
return cell;
}
UITableView
如果一篇文章没有从 API 返回的图像,当我开始向下滚动列表时崩溃,即使我希望它在这些情况下只使用我的资产中的图像 。
错误是 * 由于未捕获的异常 'NSRangeException' 导致应用程序终止,原因:'* -[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array'
谢谢您的帮助!将根据需要发布任何代码!
编辑:
Images *imageLocal = [feedLocal.images objectAtIndex:0];
...看起来这条线正在崩溃
此外,以下是用于测试的 API 资源管理器中空图像数组的 JSON 响应: