2015-11-23 4 views
0

У меня есть 2 пользовательских ячейки nib в моем представлении таблицы, которые должны выполнять 2 разных сегмента. Я хочу что-то вроде этого:Как вызвать определенный segue для выбранной ячейки nib в didSelectRowAtIndexPath

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    // if nib cell A is selected 
    self.performSegueWithIdentifier("aSegue", sender: self) 
    // if nib cell B is selected 
    self.performSegueWithIdentifier("aDifferentSegue", sender: self) 
} 

Моих перьевые клеток имеют идентификаторы, но это свойство не кажется доступным в методе didSelectRowAtIndexPath. Ячейки nib случайно отображаются внутри моего вида таблицы, а не упорядочены.

например.

  • перо ячейка А
  • пера ячейка В
  • пера ячейки А
  • заостренных наконечник клетки A
  • Nib сот B

Не

  • перо ячейка А
  • СИБ ячейка А
  • СИБ ячейка А
  • СИБ клеток B
  • СИБ клеток B

Что такое лучший способ получить доступ что-то уникальное в пределах табличного ячейки, чтобы выполнить условный переход?

+0

Вам нужно больше информации о том, как вы создаете эти клетки. Обычным способом определения того, какая ячейка была использована, является использование указательного пути. Содержимое ячеек заполняется из массива «чего-то»? Альтернативой является получение ячейки внутри вашего didSelectRow с cellForRow и проверка названия/описания/независимо от того, что. –

ответ

0

Почему вы не говорите что-то вроде

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
     if self.tableView.cellForRowAtIndexPath(indexPath) is NibAClass 
     { 
      self.performSegueWithIdentifier("aSegue", sender: self) 
     } 
     if self.tableView.cellForRowAtIndexPath(indexPath) is NibBClass 
     { 
      self.performSegueWithIdentifier("aDifferentSegue", sender: self) 
     } 
} 
Смежные вопросы