Я пытаюсь извлечь число (ageInDays) из JSON, а затем передать его другому View Controller.
Если я печатаю ageInDays, он печатает правильный ответ, но возвращает ноль, когда я пытаюсь передать его в другой VC, но если я передаю значение по умолчанию в другой VC, он проходит без проблем.
Я использую Alamofire и SwiftyJSON
Я включил только сетевые, парсинговые и отправляющие части.
По сути, приложение сообщает вам приблизительно, сколько дней вам осталось жить согласно статистическим данным (в значительной степени, чтобы напугать меня до большего).
var ageInDays = ""
//MARK: - Networking
func getAgeData(url: String){
Alamofire.request(url, method: .get)
.responseJSON { response in
if response.result.isSuccess {
print("Yes! We have the data!")
let AgeJSON: JSON = JSON(response.result.value!)
self.updateAgeData(json: AgeJSON)
} else {
print("Error: \(String(describing: response.result.error))")
self.warningLabel.text = "Sorry, connection issues."
}
}
}
//MARK: - JSON Parsing
func updateAgeData(json: JSON) {
if let ageResult = json["remaining_life_expectancy"].double{
let ageInDays = (String((ageResult) * 365))
print(ageInDays)
} else {
warningLabel.text = "Error: parsing JSON"
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let viewController = segue.destination as! ViewController
viewController.ageFromSettings = ageInDays
}
@IBAction func calculateButtonPressed(_ sender: Any) {
dateNowAsURL()
if count > 0 {
finalURL = "\(baseUrl)\(sex)\(URLcountry)\(URLdate)\(URLage)"
print(finalURL)
getAgeData(url: finalURL)
}
if ageInDays != ""{
performSegue(withIdentifier: "sendingAgeData", sender: self)
}
}