Junior — Middle
Avez-vous une expérience pratique de l'utilisation de Swift Concurrency dans vos projets?
sobes.tech IA
Réponse de l'IA
Oui, Swift Concurrency permet d’écrire du code asynchrone de manière plus lisible et sûre, en utilisant async/await, des tâches (Task) et des acteurs (Actors) pour gérer l’état et l’accès concurrent.
Exemple d’utilisation de async/await pour charger des données:
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("Nom de l’utilisateur : \(user.name)")
} catch {
print("Erreur lors du chargement de l’utilisateur : \(error)")
}
}
Les acteurs sont également utilisés pour protéger les données contre les conditions de course lors de l’accès parallèle.