TableView для различных viewControllers с использованием Segues

У меня есть таблица с несколькими разделами и строками в каждом разделе.

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

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

кто-нибудь знает, почему это произошло?

переопределить func tableView (tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

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

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

person Mitts123    schedule 17.01.2016    source источник


Ответы (1)


Оператор if не выполняется, потому что вы сравниваете indexPath с 1. Этого не произойдет ни в какой момент времени.

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

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

if indexPath.row == 1 { // Or it can be indexPath.section == 1
    //Do Something
}
person Varun    schedule 17.01.2016