2016-06-06 3 views
0

У меня есть uitableview с 2 пользовательскими ячейками (сообщениями и уведомлениями). Я хочу применить segue к другому viewcontroller, когда пользователь нажимает на ячейку сообщения, но ничего не делает, когда он нажимает на ячейку уведомления. как это сделать с помощью метода didselectrowatindexpath? некоторые ответы здесь предложили использовать indexpath.row для проверки того, какая ячейка нажата, но я получаю эти динамические ячейки от json, поэтому я не знаю, где их позиция находится в tableview или сколько их.несколько segues в uitableview

с помощью быстрой и Xcode 7.3

+0

Можете ли вы поделиться кодом, который вы пробовали, и указать, что не работает? –

ответ

0

Если клетки различных типов, вы можете просто определить тип класса в didselectrowatindexpath

Или вы можете добавить другой тег к клеткам. Вы можете сделать это в раскадровке или программно при создании ячейки.

Затем в didselectrowatindexpath проверьте, что это за тег для выбранной строки, и вы будете знать, какой тип ячейки он есть.

+0

да, они имеют разные типы (разные классы), как проверить тип? –

+0

if let cell = cell as? MessageType { // из MessageType } еще { // NotificationType } Где MessageType это имя вашего сообщения класса клеток – Gruntcakes

+0

Просто вытащить SEGUE в раскадровке от прототипа ячейки MessageTpye. – vacawama

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