Ios 将数据从MainView传递到ContainerView

Ios 将数据从MainView传递到ContainerView,ios,swift,swift3,swift4,Ios,Swift,Swift3,Swift4,我有一个故事板: 该代码: var actualVisibleView : String? = nil func showSubViewInContainerView(view: String, parms: String?){ let controller = storyboard!.instantiateViewController(withIdentifier: view) systemContainerView.subviews.forEach {

我有一个故事板:

该代码:

var actualVisibleView : String? = nil

func showSubViewInContainerView(view: String, parms: String?){
        let controller = storyboard!.instantiateViewController(withIdentifier: view)

        systemContainerView.subviews.forEach { $0.removeFromSuperview() }
        systemContainerView.addSubview(controller.view)

        if view == "ConceptGalleryView" {

        }

        addChildViewController(controller)
        controller.view.translatesAutoresizingMaskIntoConstraints = false

        systemContainerView.addSubview(controller.view)

        NSLayoutConstraint.activate([
            controller.view.leadingAnchor.constraint(equalTo: systemContainerView.leadingAnchor),
            controller.view.trailingAnchor.constraint(equalTo: systemContainerView.trailingAnchor),
            controller.view.topAnchor.constraint(equalTo: systemContainerView.topAnchor),
            controller.view.bottomAnchor.constraint(equalTo: systemContainerView.bottomAnchor)
            ])

        controller.didMove(toParentViewController: self)

        self.actualVisibleView = view
        print("OPEN: \(view)")
    }
在左侧菜单中,我使用以下代码打开此containerview中的各种视图:

showSubViewInContainerView(view: "View1", parms: "1")
showSubViewInContainerView(view: "View2", parms: "2")
showSubViewInContainerView(view: "View3", parms: "3")
showSubViewInContainerView(view: "View4", parms: nil)
例如,我打电话到ConceptGalleryView.swift:

var idGallery = 0

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

如何从showSubViewInContainerView函数-parms保存idGallery参数?

将其保存在:ViewController底部

您必须创建公共变量,以便可以将其从视图控制器添加到另一个控制器:

class variables
{
    static var name: String = ""
}
并打印出变量:

print("\(variables.name)")

我不想使用的公共变量。我想说一些更专业的解决方案:您正在实例化一个视图控制器,但提到了视图。这怎么可能?此外,您的ConceptGalleryView还有viewDidLoad方法。这也不可能。您的ConceptGalleryView实际上是UIViewController或UIView的子类吗?