Произошла ошибка
Структура, в которую я поместил данные
Вызов функции, которая получила информацию json впервое место
Информация, отправленная в другую структуру
Я пишу подключенное автомобильное приложение, используя Smart Car API.У меня есть файл node.js, работающий на heroku, и быстрый интерфейс 4, который я запускаю на своем ipad.
Когда я компилирую приложение для запуска на моем ipad, оно работает нормально.Он проходит процесс аутентификации, но что происходит, я получаю эту ошибку
Поток 1: EXC_BREAKPOINT (код = 1, субкод = 0x100f16054)
на первом из них прямо здесь
var carLatitude: Double = carInfo.latitude as!Double
var carLongitude: Double = carInfo. Longitude as!Double
Как видно из кода ниже, я создаю структуру с именем code data.Затем в «Alamofire.request (» (Constants.appServer) / location »« я получаю документ json и сохраняю его в экземпляр структуры carData с именем «teslaCar»
Затем сохраняю «teslaCar»в структуру "carInfo", чтобы перевести ее в другое представление.
Затем я пытаюсь просто преобразовать carInfo.latitude и carInfo.longitude в переменную и превратить ее в double. У меня самая сложная проблема вмир переносит широту и долготу в двойное число. Как только оно будет передано правильно, я отобразлю его на карте.
Может кто-нибудь сказать мне, как сделать эту работу?
import Alamofire
import UIKit
import SmartcarAuth
import SwiftyJSON
struct carData {
var make: String = ""
var model: String = ""
var year: String = ""
var latitude: String = ""
var longitude: String = ""
var odometer: String = ""
}
Alamofire.request("\(Constants.appServer)/location", method: .get).responseJSON { response in
switch response.result {
case .success(let value):
let json = JSON(value)
print("JSON: \(json)")
let latitude = json["data"]["latitude"].stringValue
let longitude = json["data"]["longitude"].stringValue
let locationDeclaration = "Latitude: \(latitude) and Longitude: \(longitude)"
self.vehicleLocationText = locationDeclaration
print(json["data"]["latitude"])
print(json["data"]["longitude"])
self.teslaCar.latitude = latitude
self.teslaCar.longitude = longitude
/* self.performSegue(withIdentifier: "displayVehicleInfo", sender: self)
*/
case .failure(let error):
print(error)
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if var destinationVC = segue.destination as? InfoViewController {
destinationVC.carInfo = teslaCar
}
var carLatitude:Double = carInfo.latitude as! Double
var carLongitude:Double = carInfo.longitude as! Double
Когда