2016-01-17 3 views
0

У меня есть таблица с несколькими разделами и строками в каждом разделе.TableView для разных видовКонтроллеры с использованием Segues

При выборе я хочу, чтобы каждый элемент в таблице имел свой собственный контроллер вида. У меня есть каждый идентификатор.

В следующем коде всегда открыты одни и те же новые контроллеры представлений, игнорируя мою функцию if, чтобы сделать segue зависимым от той ячейки, которую пользователь выбирает. На данный момент я тестирую только два, но как только он работает, я добавлю больше.

Кто-нибудь знает, почему это происходит?

переопределение функ Tableview (Tableview: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

if indexPath == 1 { 
     self.performSegueWithIdentifier("Belgium", sender: self) 

    } 
    else { 
    self.performSegueWithIdentifier("France", sender: self) 
    } 

ответ

1

Условный оператор не выполняется, потому что вы сравниваете indexPath 1. Это не произойдет в любой момент времени ,

Objective-C выдает предупреждение, указывающее несовместимый указатель NSIndexPath на int сравнения, тогда как swift выполняет молча.

Код должен быть

if indexPath.row == 1 { // Or it can be indexPath.section == 1 
    //Do Something 
} 
+0

Удивительно, это работает. Большое спасибо! – Mitts123

+0

Добро пожаловать ... Пожалуйста, отметьте этот ответ как правильный .. – Varun

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