Получить данные нажатой ячейки

swift

#1

Всем привет!

Решил изучить Swift с написания небольшого приложения для iOS.
Нашел на YouTube урок по написанию приложения, схожего по структуре с моей идеей. Теперь дорабатываю приложение под себя.

У меня есть несколько TableView:

В первом TableView я ввожу строки. При нажатии на ячейку выполняется переход к другому TableView, где отображаются детали.

Хочу сделать так, чтобы в заголовок второго TableView попадало название из ячейки с предыдущего TableView. Но не знаю как обратиться к нажатой ячейке. Как это сделать?

Для второго TableView я создал отдельный файл DetailViewController.swift
Я сделал правильно или нужно все действия описывать в созданном ранее TableViewController.swift?

Буду очень благодарен, если поможете разобраться с моими вопросами :blush:


#2

так, ну для начала я бы вам порекомендовал посмотреть базовый курс с нашего замечательного ресурса! там, если мне память не изменяет, есть целый курс который показывает как строить приложение на основе tableViewController.

Ну а если коротко по вашему вопросу(дам не полный ответ чтоб оставить место для google):
при нажатии на ячейку в методе tableViewDelegate - didSelectRowAtIndexPath вы вероятнее всего делаете переход по segue к следующему ViewController. так вот, там в методе performSegue есть второй параметр sender он иногда может быть нам полезен, почитаете для чего. Дальше, есть такой замечательный метод

prepare(for segue: UIStoryboardSegue, sender: Any?){}

в нем вы можете настраивать некоторые вещи которые будут происходить при переходе по segue(не совсем корректно написал, но для базового понимания пойдет)

например:

 switch segue.identifier {
    case "YouIdentifier":
         guard let vc = segue.destination as? YourSecondViewController else { return }  // проверяем что новый контроллер на который мы переходим это именно ваш второй контроллер
         vc.testVar = // тут мы уже имеем доступ к переменным второго контроллера и можем присвоить им нужное нам значение
}

Вот как-то так

P.s очень рекомендую посмотреть курс и почитать документацию к языку!


#3

Подписываюсь под вашим высказыванием, @MaxStorm вы не сможете находить элементарные ошибки, если сразу начнете с написания приложения. Посмотрите самые основы, а затем переходите к написанию самых простых приложений