Cosa significa esattamente la __block
parola chiave in Objective-C? So che ti permette di modificare le variabili all'interno di blocchi, ma mi piacerebbe sapere ...
- Cosa dice esattamente al compilatore?
- Fa qualcos'altro?
- Se questo è tutto, allora perché è necessario in primo luogo?
- È nei documenti da qualche parte? (Non riesco a trovarlo).
__block
affatto.
__block
dovrebbero tradursi in Swift: ”Le chiusure [in Swift] hanno una semantica di cattura simile ai blocchi [in Objective-C] ma differiscono in un modo chiave: le variabili sono mutabili piuttosto che copiate. In altre parole, il comportamento di __block in Objective-C è il comportamento predefinito per le variabili in Swift. ” Dal libro di Apple: utilizzo di Swift con Cocoa e Objective-C (Swift 2.2).