Я пытался выяснить, как сохранить часть ответа JSON от Alamofire как переменной, чтобы сделать оператор if, и, похоже, не может найти, как это сделать.Сохранить результат Alamofire как переменная?
Я сделал кусок кода, чтобы использовать в качестве примера для вопроса, который состоит из следующих действий:
import UIKit
import Alamofire
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request("http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=44143256ee15e9c3f521ca062463dd8d").responseJSON { response in
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
}
}
Я получаю следующий ответ из запроса API:
JSON: {
base = stations;
clouds = {
all = 0;
};
cod = 200;
coord = {
lat = "51.51";
lon = "-0.13";
};
dt = 1485031800;
id = 2643743;
main = {
humidity = 83;
pressure = 1026;
temp = "270.54";
"temp_max" = "273.15";
"temp_min" = "267.15";
};
name = London;
sys = {
country = GB;
id = 5091;
message = "0.0038";
sunrise = 1484985141;
sunset = 1485016345;
type = 1;
};
visibility = 7000;
weather = (
{
description = haze;
icon = 50n;
id = 721;
main = Haze;
}
);
wind = {
speed = 1;
};
}
Из этого Ответ JSON Я хотел бы сохранить описание погоды, чтобы я мог использовать следующее сообщение:
if var currentWeather = sunny {
return "Nice day!"
} else {
return "Uh-Oh, keep warm!"
}
Если бы кто-нибудь мог мне помочь, я бы очень признателен! Если я должен использовать SwiftyJSON, чтобы облегчить это, я просто борется с этим некоторое время, и вам нужно это выяснить!
Благодарим вас за поспешный ответ, попробуем, как только Xcode завершит обновление! Я понимаю большую часть того, как он работает, и, надеюсь, я начну понимать, как это сделать самостоятельно. – Miles
Хорошее отношение. Дайте мне знать, если у вас проблемы @Miles –
Я пробовал этот код, но я получаю 'Type Any, не имеет членов подстроки' на' let weather = JSON ["weather"] as? [[String: Any]] else {'line Я попытался также сменить его на AnyObject, но все равно ту же ошибку. – Miles