@noescape attribut dans Swift 1.2

Il y a un nouvel attribut dans Swift 1.2 avec la fermeture des paramètres dans les fonctions, et comme le dit la documentation:

Cela indique que le
paramètre n'est jamais appelé (ou passé comme une
@
noescape paramètre dans l'appel), ce qui signifie qu'il ne peut pas
durer plus longtemps que la durée de l'appel.

Dans ma compréhension, avant cela, nous pourrions utiliser [weak self] pour ne pas laisser la fermeture d'avoir une référence forte, par exemple de sa classe, et l'auto pourrait être nul ou de l'instance lorsque la fermeture est exécuté, mais maintenant, @noescape signifie que la fermeture ne sera jamais exécutée si la classe est deinitalized. Suis-je comprends bien?

Et si je suis correct, pourquoi voudrais-je utiliser un @noescape fermeture insted d'une fonction régulière, quand ils se comporte très similaires?

InformationsquelleAutor Dániel Nagy | 2015-02-10