Переменная имени места отправки через UIStoryBoardSegue не отображается - PullRequest
0 голосов
/ 13 января 2020

Я пытался передать переменную из одного контроллера представления в другой. Мой первый контроллер представления собирает значение переменной и передает его через UIStoryboardSegue в "WeatherTableViewController" . В «WeatherTableViewController» я применил значение к панели поиска. Я не могу понять, почему это не работает. Когда я наблюдаю значение в отладке, кажется, что оно имеет значение. Я разместил оба вида контроллеров. Кажется, проблема в updateWeatherForLocation(location: finalName). Я проверил, чтобы убедиться, что все соединения сделаны через раскадровку. Я уверен, что не могу понять это!

            //Return the name of the city//

        CLGeocoder().reverseGeocodeLocation(location) { placemarks, error in
            let locationName = placemarks?.first?.locality ?? "Unknown Location"
            self.location.text = locationName

        }
}



@IBAction func foreCast(_ sender: Any) {

    nameText = location.text!
        performSegue(withIdentifier: "Week", sender: self)


        func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let vc = segue.destination as! WeatherTableViewController
        vc.finalName = self.nameText


        }


}
    }


class WeatherTableViewController: UITableViewController,           UISearchBarDelegate {
var finalName = ""
@IBAction func close() {
dismiss(animated: true, completion: nil)
}
@IBOutlet weak var searchBar: UISearchBar!


var forecastData = [Weather]()

override func viewDidLoad() {
    super.viewDidLoad()
    //location = finalName
    searchBar.delegate = self

    searchBar.text = finalName

    updateWeatherForLocation(location: finalName)



}



}
...