Передача данных во встроенный ViewController из другого ViewController - PullRequest
0 голосов
/ 21 сентября 2018

карта такая:

MasterVC (1) ----> DetailsVC (2) ---> EmbedVC (3)

map

Я хочу скопировать некоторые данные и заполнить форму во Embedded VC до формы, которую она инициализирует. MasterVC

                 let vc = DetailsVC(2)
              ref.observe(.value) { (snapshot) in
                var playerValues = [String:Any]()
                if snapshot.exists() {
                    let values = snapshot.value as! [String:Any]
                    playerValues = values
                    print(ref) 
                }

                vc.values = playerValues
              }
   self.navigationController?.pushViewController(vc, animated: true)

EmbedVC

var values = [String:Any]()

viewDidLoad{
    valueTableSetup()
    }        
    func valueTableSetup() {



            form +++ Section("Position")
                <<< SegmentedRow<String>() {

                    $0.selectorTitle = "Position"
                    $0.options = ["GK","DEF","MID","ATT"]
                    $0.value =  playerValues["Position"] as? String
                    $0.tag = "Position"
                    }.onChange({ (row) in
                        let value = row.value
                        ref.updateChildValues(["Position" : value])
                    })
            form +++ Section("Preferred Side")
                <<< SegmentedRow<String>() {
                    $0.selectorTitle = "Preferred Side"
                    $0.options = ["Left","Middle","Right"]
                    $0.value = "Right"    // initially selected
                    $0.tag = "Preferred Side"
            }
    }

Я делаю это программно, поэтому раскадровки нет.Я также попытался передать его из первого VC (1) в EmbedVC (3) и из (2) в (3) без результатов.Каждый раз, когда я пытаюсь получить значение из PlayerValues ​​[String: Any] - ноль, я использую Eureka как конструктор форм.Я попытался загрузить статистику в valueTableSetup () , а также попытался запустить код в ViewDidLoad и ViewDidAppear.

...