Junior — Middle
Máte praktické skúsenosti s používaním Swift Concurrency v projektoch?
sobes.tech AI
Odpoveď od AI
Áno, Swift Concurrency umožňuje písať asynchrónny kód čitateľnejšie a bezpečnejšie pomocou async/await, úloh (Task) a hercov (Actors) na správu stavu a súbežný prístup.
Príklad použitia async/await na načítanie údajov:
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("Meno používateľa: \(user.name)")
} catch {
print("Chyba pri načítaní používateľa: \(error)")
}
}
Tiež sa používajú herci na ochranu údajov pred súťažnými podmienkami počas paralelného prístupu.