Que signifie exactement le __block
mot - clé dans Objective-C? Je sais que cela vous permet de modifier des variables dans des blocs, mais j'aimerais savoir ...
- Que dit-il exactement au compilateur?
- Cela fait-il autre chose?
- Si c'est tout ce qu'il fait, pourquoi est-il nécessaire en premier lieu?
- Est-ce dans les documents n'importe où? (Je ne le trouve pas).
__block
du tout.
__block
devraient se traduire en Swift: «Les fermetures [dans Swift] ont une sémantique de capture similaire à celle des blocs [dans Objective-C] mais diffèrent d'une manière clé: les variables sont mutables plutôt que copiées. En d'autres termes, le comportement de __block dans Objective-C est le comportement par défaut des variables dans Swift. » Tiré du livre d'Apple: Utilisation de Swift avec Cocoa et Objective-C (Swift 2.2).