web-dev-qa-db-fra.com

Quel est l'équivalent de @autoreleasepool dans Swift?

Dans Swift, je remarque qu'il n'y a pas de @autoreleasepool{} construct, bien que Swift utilise ARC. Quelle est la bonne façon de gérer un pool de libération automatique dans Swift, ou a-t-il été supprimé pour une raison quelconque?

75
Skotch

Ceci est expliqué en détail dans Vidéo de la session WWDC 2014 numéro 418 "Améliorer votre application avec des instruments", que vous pouvez également télécharger au format PDF.

Mais en bref, la syntaxe est:

autoreleasepool {
  /* code */ 
}
117
Abhi Beckert

Juste pour info, Xcode a construit le code complet comme suit:

autoreleasepool({ () -> () in
    // code              
})

Devinez les parenthèses identifie la fermeture des fonctions.

16
Saukwood

Il y a! Ce n'est tout simplement pas vraiment mentionné nulle part.

autoreleasepool {
    Do things....
}
7
Joshua Weinberg