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的子类吗?