Sobes.tech
Junior — Middle

Van gyakorlati tapasztalata a Swift Concurrency használatában projektekben?

sobes.tech MI

Válasz az MI-től

Igen, a Swift Concurrency lehetővé teszi az aszinkron kód olvashatóbb és biztonságosabb írását az async/await, feladatok (Task) és színészek (Actors) használatával az állapot és a párhuzamos hozzáférés kezelésére.

Az async/await használatának példája adatok betöltéséhez:

func fetchUserData() async throws -> User {
    let url = URL(string: "https://api.example.com/user")!
    let (data, _) = try await URLSession.shared.data(from: url)
    let user = try JSONDecoder().decode(User.self, from: data)
    return user
}

Task {
    do {
        let user = try await fetchUserData()
        print("Felhasználó neve: \(user.name)")
    } catch {
        print("Hiba a felhasználó betöltésekor: \(error)")
    }
}

Színészeket is használnak az adatok védelmére a versenyhelyzetek ellen párhuzamos hozzáférés során.