【问题标题】:Multiple Images in a TableViewTableView 中的多个图像
【发布时间】:2026-02-17 19:55:02
【问题描述】:

我有一个tableView,在NSMutableArray 中有176 个项目,我在tableView 中为多个图像实现了这段代码:

switch (indexPath.row) {
 case 0:
 cell.imageView.image = [UIImage imageNamed:@"meeting_color.png"];
 break;
 case 1:
 cell.imageView.image = [UIImage imageNamed:@"call_color.png"];
 break;
 case 2:
 cell.imageView.image = [UIImage imageNamed:@"calendar_color.png"];
 break;
 case 3:
 cell.imageView.image = [UIImage imageNamed:@"call_color.png"];
 break;
 case 4;
 cell.imageView.image = [UIImage imageNamed:@"calendar_color.png"];
 break;
 default:
 break;
 }

问题是我需要 176 个这样的案例,当我运行它时,它变得非常慢!虽然我实现了 Tweetie 中使用的快速滚动 api。

【问题讨论】:

    标签: iphone uitableview iphone-sdk-3.0 uiimageview


    【解决方案1】:

    您可以将图像/字符串存储在一个数组中,并在需要时使用 indexPath.row 来检索它们吗? IE。 cell.imageView.image = [images objectAtIndex:indexPath.row];

    这样就不需要switch语句了?

    【讨论】:

      【解决方案2】:

      你可以这样做:

      注意:这只是一个伪代码。

      String[] img={"calendar_color.png", "call_color.png", "meeting_color.png"};
      for (int i=0; i <176; i++)
       {
        if(i==0)
          cell.imageView.image= img[2];
        else if(i % 2==0){
          cell.imageView.image=img[0];
        }
        else {
          cell.imageView.image=img[1];
          }
      }
      

      将此用作洞察力->您可以获取数组中的所有内容并使用 indexPath.row 获取指针。

      【讨论】:

      • 这不是以与使用 switch 语句完全相同的速度运行吗?