Таблица действий UIAlertAction извлекает данные в childVC - PullRequest
0 голосов
/ 19 апреля 2020

У меня есть parentV C, который позволяет пользователю добавлять с помощью вариантов действий

Ожидаемый результат:

при представлении таблицы действий пользователь выбирает варианты, и таблица действий выполняет переход к childV C и childV C 'label.text станет выбранным выбором

Моя проблема заключается в том, что я распечатываю self.textInAS именно то, что action.title, однако, когда segue выполняется, textFromAS становится ноль поэтому после некоторого исследования я думаю, что у меня нет нужного закрытия, однако я все еще новичок в Swift и не уверен, как правильно выполнить закрытие. Пожалуйста, приведите пример с кодом, чтобы помочь.

Большое спасибо !!

/* parentVC */

    var textInAS : String?

 @IBAction func addBtnPressed(_ sender: UIBarButtonItem) {

        let alert = UIAlertController(title: "Alert Title", message: "alert msg", preferredStyle: .actionSheet)

   let actionA = UIAlertAction(title: "Choices A", style: .default) { (action) in
            let chosenTitle = action.title
            self.textInAS = choosenTitle
            self.performSegue(withIdentifier: "goChildVC", sender: self)

        }

  let actionB = UIAlertAction(title: "Choices B", style: .default) { (action) in
            let chosenTitle = action.title
            self.textInAS = choosenTitle
            self.performSegue(withIdentifier: "goChildVC", sender: self)

        }

            alert.addAction(actionA)
            alert.addAction(actionB)

            present(alert, animated: true, completion: nil)
        }




    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if (segue.identifier == "goChildVC") {
                let destinationVC = segue.destination as! ChildTableViewController
                destinationVC.textFromAS = self.textInAS
            }
        }
    }

}

/* ChildVC */

    @IBOutlet weak var label: UILabel!

    var textFromAS: String?

 override func viewDidLoad() {
        super.viewDidLoad()

        label.text = textFromAS
    }

...