переопределение «подготовка к переходу» при программном создании UIViewController - PullRequest
0 голосов
/ 31 октября 2019

У меня есть UIView, внутри него я создаю UIViewController:

class TopBarView: UIView {
    var viewController: UIViewController?{
        didSet{
           print("a")
    }
}

позже в моем коде, я выполняю segue, используя:

if let vc = viewController {
    vc.performSegue(withIdentifier: "imagesSegue", sender: nil)
}

Я хочу передать некоторые параметры UIViewController, который я выполняю segue в.

Я попытался добавить определение "подготовка к переходу" внутри определения viewcontroller, так это будет выглядеть так:

class TopBarView: UIView {
    var viewController: UIViewController?{
        didSet{
           print("a")
    }
    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    }
}

Тем не менее, я получаю сообщение об ошибке - такое, вероятно, не может быть сделано.

Как я могу передать необходимые параметры в новыйUIViewController

1 Ответ

0 голосов
/ 31 октября 2019

Это

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   /////
}

Должно быть внутри vc, который вы назначаете для var viewController: UIViewController? и используете параметр sender для отправки любых данных

vc.performSegue(withIdentifier: "imagesSegue", sender:"someStr")

Примечание: выне может использовать переход, если виртуальный канал создан программно

...