Как я могу передать данные из одного контейнера в другой, оба встроены в один и тот же контроллер uiview в Swift?

У меня есть родительUIViewController и у него есть два разных контейнера представления - каждый из них имеет встроенныйUIViewController внутри. Это выглядит как-то так:

Я хочу изменить метку в правом контейнере, когда пользователь нажимает кнопку, хранящуюся в левом.

До сих пор я мог сделать это, когда кнопка была помещена в родительский контроллер представления, тогда я просто использовал протокол:

в моем родительском компоненте у меня было:

class ParentController: UIViewController {

    var delegateEmbedded:HandleEmbedded?

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "segueToFirstEmbeddedController"){

        if let embeddedView = segue.destinationViewController as? EmbeddedContainer {

           self.delegateEmbedded = embeddedView
         } 


     }

в моем контейнере UIViewController у меня было:

protocol HandleEmbedded: class {
    func setName(label: String)
}

class EmbeddedContainer: UITableViewController, HandleYourChat{

    func setName(label: String){
        print("setting label to \(label)")
    }
}

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

Ответы на вопрос(1)

Ваш ответ на вопрос