2015-04-14 3 views
1

В моем представлении таблицы есть 4 секции с 3 строками в первом разделе, 2 строки во втором разделе, 2 строки в третьем разделе и 1 строка в четвертом разделе.Как обратиться к NSIndexPath?

Как я могу ссылаться на эти строки при нажатии? Это код, который я использую до сих пор. Пожалуйста, помогите

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     println("\(indexPath)") 
     switch indexPath { 

     case 0.1, 0.2, 0.3:     
      println("Row 1, 2, or 3 in section 1") 

     case 1.1: 
      println("Row 1 in section 2") 

     case 1.2:    
      println("Row 2 in section 2")  

     case 2.2: 
      println("Row 2 in section 3") 

     case 3.1: 
      println("Row 1 in section 4") 

     default: 
      println("Default") 

     }   

} 
+1

вы должны рассмотреть 2D-массив для вашего TableView (Section and Row) –

ответ

6

Я предложил бы использовать кортеж:

switch (indexPath.section, indexPath.row) 
{ 
    case (0,1), (0,2), (0,3): 
    print("Row 1, 2, or 3 in section 1") 
    case (1,1): 
    print("Row 1 in section 2") 
    case (4, _): 
    print("any row in section 5") 
    default: 
    break 
} 

(Подчеркивание является «не волнует ", который соответствует любому значению в этой позиции.)

Таким образом, синтаксис каждого случая приятный и удобный для чтения.

0

Вы должны использовать indexPath.row вернуть его индекс строки и indexPath.section получить его раздел, но оба Int s; быть осторожен.

0

Вы можете обратиться к indexPath.section для секций и indexPath.row для строк внутри секций

Успехов

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