Junior — Middle
Máte praktické zkušenosti s použitím Swift Concurrency v projektech?
sobes.tech AI
Odpověď od AI
Ano, Swift Concurrency umožňuje psát asynchronní kód čitelněji a bezpečněji pomocí async/await, úloh (Task) a aktérů (Actors) pro správu stavu a konkurenčního přístupu.
Příklad použití async/await pro načítání dat:
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("Jméno uživatele: \(user.name)")
} catch {
print("Chyba při načítání uživatele: \(error)")
}
}
Také se používají aktéři k ochraně dat před závodními podmínkami při paralelním přístupu.