If you added container view programmatically, you should use call back to get back values from container view to parent view.
Parent Controller: 
let containerView = UIView()
containerView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(containerView)
NSLayoutConstraint.activate([
    containerView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0),
    containerView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0),
    containerView.topAnchor.constraint(equalTo: headerView.bottomAnchor, constant: 0),
    containerView.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0),
    ])
let controller = YourViewController(nibName: "YourNibView", bundle: nil)
//This is important to get value back and also define callback to container view call as well
controller.callback = { result in
    self.isCardJoinedFromJoinScreen = true
    self.viewWillAppear(true)
}
addChild(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
containerView.addSubview(controller.view)
NSLayoutConstraint.activate([
    controller.view.leadingAnchor.constraint(equalTo: containerView.leadingAnchor),
    controller.view.trailingAnchor.constraint(equalTo: containerView.trailingAnchor),
    controller.view.topAnchor.constraint(equalTo: containerView.topAnchor),
    controller.view.bottomAnchor.constraint(equalTo: containerView.bottomAnchor)
    ])
Container View Controller
define this callback
var callback : ((Bool)->())?
and at the point when you pass value to parent controller call this callback like  
self.callback?(true) or self.callback?(false)