我使用文件名和缩略图列表创建tableView。我没有文件名的问题,但是当我将UIImage数组传递给tabeView时,我得到错误,这是一个代码:
cell.imageView.image = [UIImage imageNamed:[arrayColletionImages objectAtIndex:indexPath.row]];
我得到的arrayColletionImages图片:
player = [[MPMoviePlayerController alloc] initWithContentURL:url];
thumbnail = [player thumbnailImageAtTime:0.0 timeOption:MPMovieTimeOptionExact];
[player stop];
[arrayColletionImages addObject:thumbnail];
所有UITableViewCell代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableItem";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
cell.imageView.image = [UIImage imageNamed:[arrayColletionImages objectAtIndex:indexPath.row]];
NSLog(@"%@",indexPath);
return cell;
}
答案 0 :(得分:0)
数组可能不包含UIImage对象。记录数组中的值
日志中的 <UIImage: 0xa8a5430>
表示它是一个UIImage对象,在cellForRow
代码中,您再次使用它。
cell.imageView.image = [UIImage imageNamed:[arrayColletionImages objectAtIndex:indexPath.row]];
UIImage imageNamed:
期待 NSString而不是UIImage
删除此
cell.imageView.image = [UIImage imageNamed:[arrayColletionImages objectAtIndex:indexPath.row]];
在代码中尝试此操作
[cell.imageView setImage:[arrayColletionImages objectAtIndex:indexPath.row]];
答案 1 :(得分:0)
请尝试使用这个。您正在从数组中访问映像名称,但您已在此数组中存储UIImage
对象,因此无需调用imageNamed:
所以写下这一行
cell.imageView.image = [arrayColletionImages objectAtIndex:indexPath.row];