Junior — Middle
Wie ist die Netzwerkinteraktion in Ihrem Projekt umgesetzt?
sobes.tech KI
Antwort von AI
In meinem iOS-Projekt wird die Netzwerkkommunikation mit URLSession implementiert, die eine API für HTTP-Anfragen bereitstellt.
Zur Bequemlichkeit und Wiederverwendbarkeit habe ich eine Netzwerkschicht mit Abstraktion erstellt, die die Erstellung von Anfragen, die Verarbeitung von Antworten und Fehlern übernimmt. Codable wird auch für das Parsen von JSON verwendet.
Beispiel für eine einfache Anfrage:
func fetchUsers(completion: @escaping ([User]?, Error?) -> Void) {
let url = URL(string: "https://api.example.com/users")!
URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else {
completion(nil, error)
return
}
do {
let users = try JSONDecoder().decode([User].self, from: data)
completion(users, nil)
} catch {
completion(nil, error)
}
}.resume()
}
Für komplexere Aufgaben werden Drittanbieter-Bibliotheken wie Alamofire verwendet, um Anfragen einfacher zu erstellen und Antworten zu verarbeiten.