Как передать данные из TableViewCell в ContainerView?

Я новичок в использовании Swift, и мне нужна помощь для передачи данных из TableViewCell в ContainerView, чтобы изменить текст меток.

Мой текущий статус заключается в передаче данных из TabelViewCell в ViewController для изменения текста метки (IBOutlet) во второй ViewController с переходом.

Но я не знаю, как передать данные из ячейки в ContainerView с помощью моего собственного ViewController.

Вот фото моего проекта

Здесь вы можете найти изображение моего проекта и проблемы

Как передать данные из TableViewCell в ContainerView?

Я просто хочу передать данные из TableViewCell моего «View_1» в «View_2» и изменить текст метки «Change_Text_1» в ViewController «View_In_Container» моего ContainerView (UIView).

Может быть, вы, ребята, можете помочь мне с моей проблемой. Спасибо.

см. этот ответ stackoverflow.com/questions/56090195/…

Wings 28.05.2019 09:28

Не передавать данные из Посмотреть (ячейка), всегда передавать данные из модель (массив источников данных). И, пожалуйста, используйте имена переменных нижнийВерблюжий корпус, а не Upper_Snake_Cased.

vadian 28.05.2019 09:29

@vadian сделает это лучше в следующий раз :)

MalinaStempel 28.05.2019 10:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
104
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Когда вы добавляете ContainerView в View_2 дочерний контроллер представления (View_in_container) и segue в дочерний контроллер представления, добавляются в раскадровку. Добавьте identifier к segue и передайте данные из View_2prepareForSegue метода. Переход от View_2 к View_in_container выполняется при загрузке View_2.

class View1: UIViewController {
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "toView2", let view2 = segue.destination as? View2 {
            view2.name = "name"//Pass data from tableview data source array
        }
    }
}
class View2: UIViewController {
    var name:String?
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "toChildVC", let viewInContainer = segue.destination as? ViewInContainer {
            viewInContainer.name = self.name
        }
    }
}
class ViewInContainer: UIViewController {
    var name:String?
    override func viewDidLoad() {
        super.viewDidLoad()
        label1.text = name
    }
}

Выберите переход от View_2 к View_in_container и добавьте идентификатор toChildVC

большое спасибо. Он работает с вашим решением абсолютно нормально.

MalinaStempel 28.05.2019 10:14

Если вы переходите с переходом на другой контроллер представления, вы можете передать туда данные, сначала добавьте идентификатор в переход, затем в prepare(for segue:... у вас будет доступ к segue.destination as? View_2, затем сделайте то же самое с контейнером и передайте значение

Другие вопросы по теме