Передача переменной в быстрой с segue - PullRequest
0 голосов
/ 09 ноября 2019

Я использую segue, чтобы открыть новое окно в приложении xcode. Последовательность правильная, когда я нажимаю на кнопку, появляется новое окно. Я хочу передать строковую переменную из FirstViewController в DetailViewController, но не могу установить переменную в DetailViewController. Это код в FirstViewController:

if control == view.rightCalloutAccessoryView {

            func prepare(for segue: UIStoryboardSegue, sender: Any?) {
                        let controller = segue.destination as! DetailViewController
                        controller.Name = "test"
            }

            performSegue(withIdentifier: "showdetail", sender: self)
           }

А это код DetailViewController

class DetailViewController: UIViewController, WKNavigationDelegate {
    var Name: String = ""
     override func viewDidLoad() {
      super.viewDidLoad()
      print(Name)
    }
}

Где я делаю неправильно?

1 Ответ

2 голосов
/ 09 ноября 2019

Метод prepare(for должен находиться на верхнем уровне класса.

И, пожалуйста, назовите переменные в соответствии с указаниями, начиная со строчной буквы

func someMethod()
{
    if control == view.rightCalloutAccessoryView {
       performSegue(withIdentifier: "showdetail", sender: self)
    }
}

func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   let controller = segue.destination as! DetailViewController
       controller.name = "test"
   }
}
...