Передать данные из MainView в ContainerView - PullRequest
0 голосов
/ 30 мая 2018

У меня есть эта раскадровка:

enter image description here и этот код:

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)")
    }

В левом меню я открываю различные виды в этом виде контейнера, используякод:

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()
    }

Как сохранить параметр idGallery из функции showSubViewInContainerView - parms?

1 Ответ

0 голосов
/ 30 мая 2018

мимо него в: ViewController bottom.

Вам нужно создать публичную переменную, чтобы вы могли все это передавать из контроллера представления в другой:

class variables
{
    static var name: String = ""
}

И распечатать переменную:

print("\(variables.name)")
...