Извлечение строковой переменной из функции Void - PullRequest
0 голосов
/ 24 февраля 2020

вот моя проблема:

Я хотел бы восстановить переменную jan из функции Launch App () и вставить ее в переопределение выше вместо «Hello there».

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

            let destVC : troisViewController = segue.destination as! troisViewController

            destVC.dataFromFirst = "Hello there"
        }

        func launchApp(decodedURL: String) -> Void {

            if presentedViewController != nil{
            return
            }

        let jan: String = "\(decodedURL)"
        print(jan)


        self.performSegue(withIdentifier: "troissegue", sender: self)
    }

Проблема в том, что декодированный URL - это штрих-код, полученный с помощью камеры моего телефона, решение типа: destVC.dataFromFirst = launchApp() не работает ...

Есть ли у кого-нибудь похожая проблема?

Заранее спасибо

1 Ответ

3 голосов
/ 24 февраля 2020

Простое решение - передать строку как sender параметр

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {    
    if segue.identifier == "troissegue" {
        let destVC = segue.destination as! troisViewController
        destVC.dataFromFirst = sender as! String
    }
}

func launchApp(decodedURL: String) -> Void {

    if presentedViewController != nil { return }
    self.performSegue(withIdentifier: "troissegue", sender: decodedURL)
}
...