startKm = monthlyStartKmData
currentKm = currentKmData
Это не будет назначать переменные на вашем MainViewController, эти значения исчезнут, как только вы перейдете к другому viewController.Я не уверен, как вы меняете между viewControllers, но использование prepareForSegue
полезно, когда вы хотите передать значения между viewControllers.
поместите этот код в свой loginViewController:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destinationVC = segue.destination as! MainViewController
destinationVC.startKm = monthlyStartKmData
destinationVC.currentKm = currentKmData
}
Это должно работать, предполагая, что вы уже объявили переменные startKm
и currentKm' within
MainViewController`, и предполагаете, что вы переходите от logInVC к MainViewController.
Если есть другие сегменты, потенциально вызываемые в logInVC, добавьтеусловный оператор для вызова prepareForSegue
, такой как:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "MainViewControllerSegue" { //or whatever you call the segue
let destinationVC = segue.destination as! MainViewController
destinationVC.startKm = monthlyStartKmData
destinationVC.currentKm = currentKmData
}
}