2012-02-20 2 views
1

Небольшая проблема здесь у меня есть 4 секции, когда я нажимаю на первом TableCell секции (получил 4 секции) выход NSlogs является:Секции и случаи

2012-02-20 20:33:16.870 [8880:c07] 00 

Могу ли я сделать что-то подобное;

if switch(indexPath.row == 0) { 

case 

} else if(indexPath.row == 1) { 

case 

} 

to 'link' каждый столбец для другой функции?

Проблема в том, когда я использую код;

case 0: 
     NSLog(@"00"); 
    break; 

каждый первый TableCell секция дает мне NSLog 00

UIViewController *controller; 

    switch(indexPath.row) { 

     case 0: 
      NSLog(@"00"); 
      break; 

     case 1: 
      NSLog(@"01"); 
      break; 

     case 2: 
      NSLog(@"02"); 
      break; 

     case 3: 
      NSLog(@"03"); 
      break; 

     case 4: 
      NSLog(@"04"); 
      break; 
} 
+0

Возможно, я ошибаюсь, но ваш блок if после «Могу ли я сделать что-то вроде» выглядит довольно неправильно. – Almo

ответ

0

Я думаю, что вы ищете что-то вроде этого:

if (indexPath.section == 0) { 
    switch(indexPath.row) { 
    case 0: 
     NSLog(@"00"); 
     break; 
    case 1: 
     NSLog(@"01"); 
     break; 
    case 2: 
     NSLog(@"02"); 
     break; 
    case 3: 
     NSLog(@"03"); 
     break; 
    case 4: 
     NSLog(@"04"); 
     break; 
    } 
} else if (indexPath.section == 1) { 
    switch(indexPath.row) { 
    case 0: 
     NSLog(@"10"); 
     break; 
    case 1: 
     NSLog(@"11"); 
     break; 
    case 2: 
     NSLog(@"12"); 
     break; 
    case 3: 
     NSLog(@"13"); 
     break; 
    case 4: 
     NSLog(@"14"); 
     break; 
    } 
} 

if заявления разделяющего пути выполнения на section, а затем switch далее разделяет его на row. Если количество секций является значительным, вы можете использовать внешний switch вне внутренних переключателей.

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