Я новичок в использовании Swift, и мне нужна помощь для передачи данных из TableViewCell в ContainerView, чтобы изменить текст меток.
Мой текущий статус заключается в передаче данных из TabelViewCell в ViewController для изменения текста метки (IBOutlet) во второй ViewController с переходом.
Но я не знаю, как передать данные из ячейки в ContainerView с помощью моего собственного ViewController.
Вот фото моего проекта
Здесь вы можете найти изображение моего проекта и проблемы

Я просто хочу передать данные из TableViewCell моего «View_1» в «View_2» и изменить текст метки «Change_Text_1» в ViewController «View_In_Container» моего ContainerView (UIView).
Может быть, вы, ребята, можете помочь мне с моей проблемой. Спасибо.
Не передавать данные из Посмотреть (ячейка), всегда передавать данные из модель (массив источников данных). И, пожалуйста, используйте имена переменных нижнийВерблюжий корпус, а не Upper_Snake_Cased.
@vadian сделает это лучше в следующий раз :)





Когда вы добавляете 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
большое спасибо. Он работает с вашим решением абсолютно нормально.
Если вы переходите с переходом на другой контроллер представления, вы можете передать туда данные, сначала добавьте идентификатор в переход, затем в prepare(for segue:... у вас будет доступ к segue.destination as? View_2, затем сделайте то же самое с контейнером и передайте значение
см. этот ответ stackoverflow.com/questions/56090195/…