Junior — Middle
Aveți experiență practică în utilizarea Swift Concurrency în proiecte?
sobes.tech AI
Răspuns de la AI
Da, Swift Concurrency permite scrierea unui cod asincron mai lizibil și mai sigur, utilizând async/await, sarcini (Task) și actori (Actors) pentru gestionarea stării și accesului concurent.
Exemplu de utilizare a async/await pentru încărcarea datelor:
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("Numele utilizatorului: \(user.name)")
} catch {
print("Eroare la încărcarea utilizatorului: \(error)")
}
}
De asemenea, se folosesc actori pentru a proteja datele împotriva condițiilor de cursă în timpul accesului paralel.