2010-12-03 3 views
0

я получил tableView с 176 пунктами в NSMutableArray и я реализовал этот код для нескольких изображений в моем Tableview:несколько изображений в 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 из этих случаев и когда Я запускаю его, он идет очень медленно! Хотя я реализовал быструю прокрутку api, используемую в Tweetie.

ответ

1

Можете ли вы сохранить изображения/строки в массиве и просто использовать indexPath.row для их получения по мере необходимости? То есть. cell.imageView.image = [images objectAtIndex: indexPath.row];

Таким образом, вам не нужна инструкция switch?

0

Вы можете сделать что-то вроде этого:

Примечание: Это просто 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]; 
    } 
} 

Используя это как insight-> вы можете получить все в массиве и получать указатели с помощью indexPath.row.

+0

не работает ли он с той же скоростью, что и при использовании операторов switch? – Jules 2010-12-04 19:53:22

Смежные вопросы