Sobes.tech
Junior — Middle

Kirjeldage andmete edastamise protsessi serveri osast läbi võrgu kuni kasutajaliideseni teie eelmisel projektil.

sobes.tech AI

Vastus AI-lt

Minu eelmisel iOS-projektis nägi andmete edastamise protsess välja järgmine:

  1. Serveri osa (näiteks REST API) koostas kliendi päringule JSON-vastuse.
  2. iOS rakenduses saadeti URLSessioni abil HTTP-päring serverile.
  3. Saadud JSON-dokument deserialiseeriti Codable abil andmemudelitesse.
  4. Pärast edukat parsimist edastati andmed äriloogika kihti.
  5. Seejärel uuendati kasutajaliidest, näiteks uuendades UITableView või SwiftUI View, et näidata uusi andmeid.

Näide päringust ja andmete töötlemisest:

struct User: Codable {
    let id: Int
    let name: String
}

func fetchUsers() {
    let url = URL(string: "https://api.example.com/users")!
    URLSession.shared.dataTask(with: url) { data, response, error in
        guard let data = data else { return }
        do {
            let users = try JSONDecoder().decode([User].self, from: data)
            DispatchQueue.main.async {
                // uuenda UI kasutajatega
            }
        } catch {
            print("Parsimise viga: \(error)")
        }
    }.resume()
}