2010-12-03 13 views
0

J'ai un tableView avec 176 articles dans un NSMutableArray et je mis en œuvre ce code pour plusieurs images dans mon tableView:Images multiples dans un 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; 
} 

Le problème est que j'ai besoin 176 de ces cas et lorsque Je le cours, ça devient extrêmement lent! Bien que j'ai implémenté l'API de défilement rapide utilisée dans Tweetie.

Répondre

1

Pouvez-vous stocker les images/chaînes dans un tableau et utiliser simplement indexPath.row pour les récupérer en cas de besoin? C'est à dire. cell.imageView.image = [images objectAtIndex: indexPath.row];

De cette façon, vous n'avez pas besoin de l'instruction switch?

0

Vous pouvez faire quelque chose comme ceci:

Note: Ceci est juste un psuedocode.

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]; 
    } 
} 

En utilisant cela comme une insight-> vous pouvez chercher tous dans un tableau et aller chercher les pointeurs à l'aide indexPath.row.

+0

Est-ce que cela ne fonctionne pas exactement à la même vitesse que l'utilisation des instructions switch? – Jules

+0

Avez-vous comparé les deux pour évaluer la vitesse de performance? – Bitmap