Annexe C. Comment fonctionne l'asynchronisme
Les débutants ne comprennent parfois pas très bien ce que signifie l'exécution asynchrone de leur code. Mais une bonne partie de ton code lorsque tu programmes iOS est asynchrone, et il est important de bien comprendre ce que cela implique :
-
Un NSItemProvider te transmet ses données de manière asynchrone.
-
Le résultat de la demande d'autorisation arrive de façon asynchrone.
-
Les propriétés de la Fondation AV sont définies de manière asynchrone et les vidéos sont exportées de manière asynchrone.
-
La plupart des interactions avec la photothèque sont asynchrones.
-
Le travail en réseau est asynchrone.
Et ainsi de suite.
Le code asynchrone s'exécute dans le désordre
Le code asynchrone s'exécute à un moment indéfini. Plus important encore, il s'exécute après le code environnant. La chose la plus importante à comprendre à propos du code asynchrone est que l 'ordre dans lequel ton code apparaît n'est pas l'ordre dans lequel il s'exécutera.
Réfléchis à ce qui suit (et consulte le chapitre 24) :
func doSomeNetworking() {
// ... prepare url ...
let session = URLSession.shared
let task = session.downloadTask(with:url) { loc, resp, err in
// ... completion function body goes here ...
}
task.resume()
}
La méthode downloadTask(with:completionHandler:) ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access