Я пытаюсь получить доступ к двум битам данных из OpenWeatherMap в Swift. Первое - это описание, а второе - температура. Я доступ описания, используя следующий кодДоступ к API из openweathermap
if let description = ((jsonResult["weather"]as? NSArray)?[0]as? NSDictionary)?["main"]as? String {
DispatchQueue.main.sync(execute:) {
self.resultLabel.text = description
Теперь проблемы я имею доступ температуры, которая конфигурируется как эта печати (: «!«Температура (погода [»главная] [» Темп "]! !) ») в отличие от печати (« Описание погоды: (погода [«weather»]! [0]! ["description"] !!) ") Как перенастроить приведенный выше код для доступа к данным о температуре. Спасибо, что посмотрели на меня.
'((JsonResult [ "главный"] в качестве? NSArray)? [0], как? NSDictionary)? [ "Темп"], как? Строка «Ммм ... ты ничего не выиграешь, набив столько же на одной линии, совсем наоборот ...: p – Moritz
Так что бы вы предложили? – AltBrian
Очевидно, я предлагаю вам прекратить это делать. :) Например, используйте 'if let' или' guard let' для * безопасно * разворачивайте свои значения, шаг за шагом и добавляйте предложения 'else' для обработки возможных ошибок. Не помещайте все в однострочные, код не работает быстрее, и его сложно поддерживать и отлаживать. Кроме того, используйте типы Swift (типизированный массив вместо NSArray и т. Д.). – Moritz