Dostęp do usług internetowych
W naszej aplikacji może być konieczne połączenie się z interfejsem API i pobranie danych z tego interfejsu API i wykorzystanie ich w naszej aplikacji.
Po pierwsze, potrzebujemy adresu URL, który dostarczy nam dane.
api.openweathermap.org/data/2.5/forecast?id=524901&APPID=1111111111
Następnie musimy dodać wyjątek bezpieczeństwa warstwy transportowej, aby umożliwić naszej aplikacji komunikowanie się z usługą internetową, jeśli usługa nie jest oparta na protokole HTTPS. Wprowadzimy te zmiany winfo.plist plik.
Na koniec utworzymy sesję URL, aby utworzyć żądanie sieciowe.
let urlString = URL(string: "your URL") // Making the URL
if let url = urlString {
let task = URLSession.shared.dataTask(with: url) {
(data, response, error) in // Creating the URL Session.
if error != nil {
// Checking if error exist.
print(error)
} else {
if let usableData = data {
// Checking if data exist.
print(usableData)
// printing Data.
}
}
}
}
task.resume()
W ten sposób możesz używać usług internetowych w swojej aplikacji przy użyciu sesji URL.
Alamofire
Alamofire to biblioteka sieciowa HTTP napisana w szybki. Może być używany do wysyłania żądań adresu URL, wysyłania danych, odbierania danych, przesyłania plików, danych, uwierzytelniania, walidacji itp.
Aby zainstalować Aalmofire, możesz oficjalnie przejść do Alamofire na GitHub i przeczytać ich przewodnik instalacji
Składanie wniosku w Alamofire
Aby wykonać żądanie w Alamofire, powinniśmy użyć następującego polecenia.
Import Alamofire
Alamofire.request("url");
Obsługa odpowiedzi
Następujące polecenie jest używane do obsługi odpowiedzi.
Alamofire.request("url").responseJSON {
response in
print(response.request)
// original URL request
print(response.response)
// HTTP URL response
print(response.data)
// server data
print(response.result)
// result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
Walidacja odpowiedzi
Następujące polecenie jest używane do obsługi odpowiedzi.
Alamofire.request("https://httpbin.org/get").validate().responseJSON {
response in
switch response.result {
case .success:
print("Validation Successful")
case .failure(let error):
print(error)
}
}
To są podstawy tworzenia żądań adresu URL, korzystania z sesji URL i Alamofire. Aby uzyskać bardziej zaawansowane informacje o Alamofire, odwiedź dokumentację Alamofire , gdzie możesz przeczytać o niej szczegółowo.