Я пытаюсь получить температуру от текущего местоположения пользователей.Преобразование Kelvin в Цельсий в Swift
Я использую API из OpenWeatherMap. Проблема в том, что они обеспечивают температуру в Кельвине по умолчанию, и я бы хотел, чтобы она была в градусах Цельсия.
Я понимаю, что мне просто нужно вычесть 273.15 из значения кельвина ....? Но я изо всех сил пытаюсь понять, где это сделать.
Мой код для установки мои метки:
var jsonData: AnyObject?
func setLabels(weatherData: NSData) {
do {
self.jsonData = try NSJSONSerialization.JSONObjectWithData(weatherData, options: []) as! NSDictionary
} catch {
//handle error here
}
if let name = jsonData!["name"] as? String {
locationLabel.text = "using your current location, \(name)"
}
if let main = jsonData!["main"] as? NSDictionary {
if let temperature = main["temp"] as? Double {
self.tempLabel.text = String(format: "%.0f", temperature)
}
}
}
Может кто-нибудь помочь мне получить это право, пожалуйста, так как я на самом деле не уверен, с чего начать, спасибо.
Дайте мне знать, если вам нужно больше узнать о моем коде.
FYI - Как ИО 10/MacOS Sierra, Apple ввел API измерений и единиц в Фонд, который обрабатывает конверсии для вас, а также локализацию. Ссылка на документацию: https://developer.apple.com/reference/foundation/nsmeasurement, а также бесплатное видео WWDC: https://developer.apple.com/videos/play/wwdc2016/238/ –