Delegar usando o Container View no Swift

Estou desenvolvendo um aplicativo para iPad Pro. Neste aplicativo,containerView use para adicionar maisviews e interagir com eles.

Primeiro, eu criei um protocolo:

protocol DataViewDelegate {
    func setTouch(touch: Bool)
}

Então, criei meu primeiro controlador de exibição

import UIKit

class ViewController: UIViewController, DataViewDelegate {

    @IBOutlet var container: UIView!
    @IBOutlet var labelText: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func setTouch(touch: Bool) {
        if touch == true {
            labelText.text = "Touch!"
        }
    }

}

E, finalmente, criei uma exibição que será incorporada no containerView.

import UIKit

class ContainerViewController: UIViewController {

    var dataViewDelegate: DataViewDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    @IBAction func touchMe(sender: AnyObject) {
        dataViewDelegate?. setTouch(true)
    }

}

Mas, por alguma razão, nada aconteceu, o primeiro controlador de exibição não recebe nada na função setTouch.

Minha pergunta é:Nesse caso, usando contêiner, como posso fazer a comunicação entre dois ViewsControllers?

questionAnswers(2)

yourAnswerToTheQuestion