> For the complete documentation index, see [llms.txt](https://swift.unicorndonkeys.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://swift.unicorndonkeys.com/cronologia-delle-revisioni/cronologia-delle-revisioni-del-documento.md).

# Cronologia delle revisioni del documento (Document Revision History)

Esamina le modifiche recenti a questo libro.

**2026-09-14**

* Aggiornato per Swift 6.4.
* Aggiunte informazioni sui protocolli che hanno requisiti di superclasse alla sezione [Protocolli riservati alle classi](/guida-al-linguaggio/protocolli.md#protocolli-riservati-alle-classi).
* Aggiunte informazioni sugli identificatori grezzi alla sezione [Identificatori](/riferimento-del-linguaggio/struttura-lessicale.md#identificatori).
* Aggiunte informazioni sulle macro body alla sezione [attached](/riferimento-del-linguaggio/attributi.md#attached).

**2026-03-23**

* Aggiornato per Swift 6.3.
* Correzioni e aggiunte minori in tutto il libro.

**2025-12-12**

* Aggiornato per Swift 6.2.3.
* Aggiunta la sezione [export](/riferimento-del-linguaggio/attributi.md#export) con informazioni sull'esportazione delle definizioni ai moduli client.

**2025-11-03**

* Aggiornato per Swift 6.2.1.
* Aggiunta la sezione [Parametri generici interi](/riferimento-del-linguaggio/parametri-e-argomenti-generici.md#parametri-generici-interi) con informazioni sui parametri generici che hanno un valore numerico.
* Aggiunte informazioni alle sezioni [Interi](/guida-al-linguaggio/le-basi.md#interi) e [Numeri in virgola mobile](/guida-al-linguaggio/le-basi.md#numeri-in-virgola-mobile) sulla scelta tra numeri interi e numeri in virgola mobile.

**2025-09-15**

* Aggiornato per Swift 6.2.
* Aggiunta la sezione [Sicurezza della memoria](/guida-al-linguaggio/le-basi.md#sicurezza-della-memoria) con informazioni sui problemi che Swift ti aiuta a prevenire.
* Aggiunta la sezione [Pattern](/guida-al-linguaggio/flusso-di-controllo.md#pattern) con informazioni sulla sintassi `if case`.
* Aggiunte informazioni sul main actor, sull'isolamento e sui global actor al capitolo [Concorrenza](/guida-al-linguaggio/concorrenza.md).
* Aggiunta la sezione [Conformità implicita a un protocollo](/guida-al-linguaggio/protocolli.md#conformita-implicita-a-un-protocollo) con informazioni sulla conformità ai protocolli comuni senza scrivere esplicitamente la conformità, e sulla soppressione della conformità implicita.
* Aggiunta la sezione [Vincoli impliciti](/guida-al-linguaggio/generici.md#vincoli-impliciti) con informazioni sui vincoli generici che richiedono la conformità ai protocolli comuni.

**2025-03-31**

* Aggiornato per Swift 6.1.
* Aggiunta la sezione [Tipi parametro opachi](/guida-al-linguaggio/tipi-opachi-e-tipi-protocollo-boxed.md#tipi-parametro-opachi) con informazioni sull'uso di `some` come sintassi leggera per i generici.
* Aggiunte informazioni sull'argomento `noasync` alla sezione [available](/riferimento-del-linguaggio/attributi.md#available).

**2024-09-23**

* Aggiornato per Swift 6.
* Aggiunta la sezione [preconcurrency](/riferimento-del-linguaggio/attributi.md#preconcurrency) con informazioni sulla migrazione al controllo rigoroso della concorrenza.
* Aggiunta la sezione [Specificare il tipo di errore](/guida-al-linguaggio/gestione-degli-errori.md#specificare-il-tipo-di-errore) con informazioni sul lancio di errori di un tipo specifico.
* Aggiornata la sezione [Espressione di espansione di macro](/riferimento-del-linguaggio/espressioni.md#espressione-di-espansione-di-macro), ora che qualsiasi macro può essere usata come valore predefinito di un parametro.
* Aggiunte informazioni sull'accesso a livello di package al capitolo [Controllo degli accessi](/guida-al-linguaggio/controllo-degli-accessi.md).

**2024-03-05**

* Aggiornato per Swift 5.10.
* Aggiunte informazioni sui protocolli annidati alla sezione [Delega](/guida-al-linguaggio/protocolli.md#delega).
* Aggiunte informazioni sulla deprecazione nelle sezioni [UIApplicationMain](/riferimento-del-linguaggio/attributi.md#uiapplicationmain) e [NSApplicationMain](/riferimento-del-linguaggio/attributi.md#nsapplicationmain).

**2023-12-11**

* Aggiornato per Swift 5.9.2.
* Aggiunte informazioni sui modificatori `borrowing` e `consuming` alla sezione [Modificatori dei parametri](/riferimento-del-linguaggio/dichiarazioni.md#modificatori-dei-parametri).
* Aggiunte informazioni in [Dichiarare costanti e variabili](/guida-al-linguaggio/le-basi.md#dichiarare-costanti-e-variabili) sull'impostazione del valore di una costante dopo la sua dichiarazione.
* Aggiunte ulteriori informazioni su task, gruppi di task e cancellazione dei task al capitolo [Concorrenza](/guida-al-linguaggio/concorrenza.md).
* Aggiunte informazioni nel capitolo [Macro](/guida-al-linguaggio/macro.md) sull'implementazione di macro in un package Swift esistente.
* Aggiornata la sezione [attached](/riferimento-del-linguaggio/attributi.md#attached), ora che le macro extension hanno sostituito le macro conformance.
* Aggiunta la sezione [backDeployed](/riferimento-del-linguaggio/attributi.md#backdeployed) con informazioni sul back deployment.

**2023-09-18**

* Aggiornato per Swift 5.9.
* Aggiunte informazioni sulle espressioni `if` e `switch` al capitolo [Flusso di controllo](/guida-al-linguaggio/flusso-di-controllo.md) e alla sezione [Espressione condizionale](/riferimento-del-linguaggio/espressioni.md#espressione-condizionale).
* Aggiunto il capitolo [Macro](/guida-al-linguaggio/macro.md), con informazioni sulla generazione di codice in fase di compilazione.
* Ampliata la trattazione degli opzionali in [Le basi](/guida-al-linguaggio/le-basi.md).
* Aggiunto un esempio di concorrenza a [Un tour di Swift](/benvenuto-in-swift/un-tour-di-swift.md).
* Aggiunte informazioni sui tipi protocollo boxed al capitolo [Tipi opachi e tipi protocollo boxed](/guida-al-linguaggio/tipi-opachi-e-tipi-protocollo-boxed.md).
* Aggiunte informazioni sui metodi `buildPartialBlock(first:)` e `buildPartialBlock(accumulated:next:)` alla sezione [Trasformazioni del risultato](/riferimento-del-linguaggio/attributi.md#trasformazioni-del-risultato).
* Aggiunto visionOS agli elenchi delle piattaforme in [available](/riferimento-del-linguaggio/attributi.md#available) e [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale).
* Formattata la grammatica formale in modo da usare righe vuote per il raggruppamento.

**2023-03-30**

* Aggiornato per Swift 5.8.
* Aggiunta la sezione [Azioni rinviate](/guida-al-linguaggio/flusso-di-controllo.md#azioni-rinviate), che mostra `defer` al di fuori della gestione degli errori.
* Adottato Swift-DocC per la pubblicazione.
* Correzioni e aggiunte minori in tutto il libro.

**2022-09-12**

* Aggiornato per Swift 5.7.
* Aggiunta la sezione [Tipi Sendable](/guida-al-linguaggio/concorrenza.md#tipi-sendable), con informazioni sull'invio di dati tra actor e task, e aggiunte informazioni sugli attributi `@Sendable` e `@unchecked` alle sezioni [Sendable](/riferimento-del-linguaggio/attributi.md#sendable) e [unchecked](/riferimento-del-linguaggio/attributi.md#unchecked).
* Aggiunta la sezione [Letterali espressione regolare](/riferimento-del-linguaggio/struttura-lessicale.md#letterali-espressione-regolare) con informazioni sulla creazione di un'espressione regolare.
* Aggiunte informazioni sulla forma breve di `if`-`let` alla sezione [Optional binding](/guida-al-linguaggio/le-basi.md#optional-binding).
* Aggiunte informazioni su `#unavailable` alla sezione [Verificare la disponibilità delle API](/guida-al-linguaggio/flusso-di-controllo.md#verificare-la-disponibilita-delle-api).

**2022-03-14**

* Aggiornato per Swift 5.6.
* Aggiornata la sezione [Espressione membro esplicita](/riferimento-del-linguaggio/espressioni.md#espressione-membro-esplicita) con informazioni sull'uso di `#if` attorno a chiamate di metodo concatenate e ad altre espressioni postfisse.
* Aggiornato lo stile visivo delle figure in tutto il libro.

**2021-09-20**

* Aggiornato per Swift 5.5.
* Aggiunte informazioni su funzioni asincrone, task e actor al capitolo [Concorrenza](/guida-al-linguaggio/concorrenza.md), e alle sezioni [Dichiarazione di actor](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-actor), [Funzioni e metodi asincroni](/riferimento-del-linguaggio/dichiarazioni.md#funzioni-e-metodi-asincroni) e [Operatore await](/riferimento-del-linguaggio/espressioni.md#operatore-await).
* Aggiornata la sezione [Identificatori](/riferimento-del-linguaggio/struttura-lessicale.md#identificatori) con informazioni sugli identificatori che iniziano con un trattino basso.

**2021-04-26**

* Aggiornato per Swift 5.4.
* Aggiunte le sezioni [Result builder](/guida-al-linguaggio/operatori-avanzati.md#result-builder) e [resultBuilder](/riferimento-del-linguaggio/attributi.md#resultbuilder) con informazioni sui result builder.
* Aggiunta la sezione [Conversione implicita in un tipo puntatore](/riferimento-del-linguaggio/espressioni.md#conversione-implicita-in-un-tipo-puntatore) con informazioni su come i parametri in-out possono essere convertiti implicitamente in puntatori unsafe in una chiamata di funzione.
* Aggiornate le sezioni [Parametri variadici](/guida-al-linguaggio/funzioni.md#parametri-variadici) e [Dichiarazione di funzione](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-funzione), ora che una funzione può avere più parametri variadici.
* Aggiornata la sezione [Espressione membro implicita](/riferimento-del-linguaggio/espressioni.md#espressione-membro-implicita), ora che le espressioni membro implicite possono essere concatenate.

**2020-09-16**

* Aggiornato per Swift 5.3.
* Aggiunte informazioni sulle trailing closure multiple alla sezione [Trailing closure](/guida-al-linguaggio/closure.md#trailing-closure), e aggiunte informazioni su come le trailing closure vengono fatte corrispondere ai parametri alla sezione [Espressione di chiamata di funzione](/riferimento-del-linguaggio/espressioni.md#espressione-di-chiamata-di-funzione).
* Aggiunte informazioni sulle implementazioni sintetizzate di `Comparable` per le enumerazioni alla sezione [Adottare un protocollo usando un'implementazione sintetizzata](/guida-al-linguaggio/protocolli.md#adottare-un-protocollo-usando-unimplementazione-sintetizzata).
* Aggiunta la sezione [Clausole where contestuali](/guida-al-linguaggio/generici.md#clausole-where-contestuali) ora che puoi scrivere una clausola `where` generica in più punti.
* Aggiunta la sezione [Riferimenti unowned opzionali](/guida-al-linguaggio/conteggio-automatico-dei-riferimenti.md#riferimenti-unowned-opzionali) con informazioni sull'uso di riferimenti unowned con valori opzionali.
* Aggiunte informazioni sull'attributo `@main` alla sezione [main](/riferimento-del-linguaggio/attributi.md#main).
* Aggiunto `#filePath` alla sezione [Espressione letterale](/riferimento-del-linguaggio/espressioni.md#espressione-letterale), e aggiornata la trattazione di `#file`.
* Aggiornata la sezione [Closure escaping](/guida-al-linguaggio/closure.md#closure-escaping), ora che le closure possono fare riferimento a `self` implicitamente in più scenari.
* Aggiornate le sezioni [Gestire gli errori usando do-catch](/guida-al-linguaggio/gestione-degli-errori.md#gestire-gli-errori-usando-do-catch) e [Istruzione do](/riferimento-del-linguaggio/istruzioni.md#istruzione-do), ora che una clausola `catch` può corrispondere a più errori.
* Aggiunte ulteriori informazioni su `Any` e spostate nella nuova sezione [Tipo Any](/riferimento-del-linguaggio/tipi.md#tipo-any).
* Aggiornata la sezione [Osservatori di proprietà](/guida-al-linguaggio/proprieta.md#osservatori-di-proprieta), ora che le proprietà lazy possono avere osservatori.
* Aggiornata la sezione [Dichiarazione di protocollo](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-protocollo), ora che i membri di un'enumerazione possono soddisfare i requisiti dei protocolli.
* Aggiornata la sezione [Osservatori di variabili memorizzate e osservatori di proprietà](/riferimento-del-linguaggio/dichiarazioni.md#osservatori-di-variabili-memorizzate-e-osservatori-di-proprieta) per descrivere quando il getter viene chiamato prima dell'osservatore.
* Aggiornato il capitolo [Sicurezza della memoria](/guida-al-linguaggio/sicurezza-della-memoria.md) per menzionare le operazioni atomiche.

**2020-03-24**

* Aggiornato per Swift 5.2.
* Aggiunte informazioni sul passaggio di un key path al posto di una closure alla sezione [Espressione key-path](/riferimento-del-linguaggio/espressioni.md#espressione-key-path).
* Aggiunta la sezione [Metodi con nomi speciali](/riferimento-del-linguaggio/dichiarazioni.md#metodi-con-nomi-speciali) con informazioni sullo zucchero sintattico che permette alle istanze di classi, strutture ed enumerazioni di essere usate con la sintassi di chiamata di funzione.
* Aggiornata la sezione [Opzioni dei subscript](/guida-al-linguaggio/subscript.md#opzioni-dei-subscript), ora che i subscript supportano parametri con valori predefiniti.
* Aggiornata la sezione [Tipo Self](/riferimento-del-linguaggio/tipi.md#tipo-self), ora che `Self` può essere usato in più contesti.
* Aggiornata la sezione [Opzionali con unwrapping implicito](/guida-al-linguaggio/le-basi.md#opzionali-con-unwrapping-implicito) per chiarire che un valore opzionale con unwrapping implicito può essere usato sia come valore opzionale sia come valore non opzionale.

**2019-09-10**

* Aggiornato per Swift 5.1.
* Aggiunte informazioni sulle funzioni che specificano un protocollo a cui il loro valore di ritorno è conforme, invece di fornire uno specifico tipo di ritorno con nome, al capitolo [Tipi opachi e tipi protocollo boxed](/guida-al-linguaggio/tipi-opachi-e-tipi-protocollo-boxed.md).
* Aggiunte informazioni sui property wrapper alla sezione [Property wrapper](/guida-al-linguaggio/proprieta.md#property-wrapper).
* Aggiunte informazioni sulle enumerazioni e sulle strutture frozen per la library evolution alla sezione [frozen](/riferimento-del-linguaggio/attributi.md#frozen).
* Aggiunte le sezioni [Funzioni con un return implicito](/guida-al-linguaggio/funzioni.md#funzioni-con-un-return-implicito) e [Dichiarazione abbreviata del getter](/guida-al-linguaggio/proprieta.md#dichiarazione-abbreviata-del-getter) con informazioni sulle funzioni che omettono `return`.
* Aggiunte informazioni sull'uso dei subscript sui tipi alla sezione [Subscript di tipo](/guida-al-linguaggio/subscript.md#subscript-di-tipo).
* Aggiornata la sezione [Pattern dei casi di enumerazione](/riferimento-del-linguaggio/pattern.md#pattern-dei-casi-di-enumerazione), ora che un pattern di caso di enumerazione può corrispondere a un valore opzionale.
* Aggiornata la sezione [Inizializzatori memberwise per i tipi struttura](/guida-al-linguaggio/inizializzazione.md#inizializzatori-memberwise-per-i-tipi-struttura), ora che gli inizializzatori memberwise supportano l'omissione dei parametri per le proprietà che hanno un valore predefinito.
* Aggiunte informazioni sui membri dinamici cercati per key path in fase di esecuzione alla sezione [dynamicMemberLookup](/riferimento-del-linguaggio/attributi.md#dynamicmemberlookup).
* Aggiunto `macCatalyst` all'elenco degli ambienti di destinazione in [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale).
* Aggiornata la sezione [Tipo Self](/riferimento-del-linguaggio/tipi.md#tipo-self), ora che `Self` può essere usato per fare riferimento al tipo introdotto dalla dichiarazione corrente di classe, struttura o enumerazione.

**2019-03-25**

* Aggiornato per Swift 5.0.
* Aggiunta la sezione [Delimitatori di stringa estesi](/guida-al-linguaggio/stringhe-e-caratteri.md#delimitatori-di-stringa-estesi) e aggiornata la sezione [Letterali stringa](/riferimento-del-linguaggio/struttura-lessicale.md#letterali-stringa) con informazioni sui delimitatori di stringa estesi.
* Aggiunta la sezione [dynamicCallable](/riferimento-del-linguaggio/attributi.md#dynamiccallable) con informazioni sulla chiamata dinamica di istanze come funzioni usando l'attributo `dynamicCallable`.
* Aggiunte le sezioni [unknown](/riferimento-del-linguaggio/attributi.md#unknown) e [Switch sui casi futuri di un'enumerazione](/riferimento-del-linguaggio/istruzioni.md#switch-sui-casi-futuri-di-unenumerazione) con informazioni sulla gestione dei casi futuri delle enumerazioni nelle istruzioni switch usando l'attributo dei casi di switch `unknown`.
* Aggiunte informazioni sul key path identità (`\.self`) alla sezione [Espressione key-path](/riferimento-del-linguaggio/espressioni.md#espressione-key-path).
* Aggiunte informazioni sull'uso dell'operatore minore di (`<`) nelle condizioni di piattaforma alla sezione [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale).

**2018-09-17**

* Aggiornato per Swift 4.2.
* Aggiunte informazioni sull'accesso a tutti i casi di un'enumerazione alla sezione [Iterare sui casi di un'enumerazione](/guida-al-linguaggio/enumerazioni.md#iterare-sui-casi-di-unenumerazione).
* Aggiunte informazioni su `#error` e `#warning` alla sezione [Istruzione di diagnostica in fase di compilazione](/riferimento-del-linguaggio/istruzioni.md#istruzione-di-diagnostica-in-fase-di-compilazione).
* Aggiunte informazioni sull'inlining alla sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) sotto gli attributi `inlinable` e `usableFromInline`.
* Aggiunte informazioni sui membri cercati per nome in fase di esecuzione alla sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) sotto l'attributo `dynamicMemberLookup`.
* Aggiunte informazioni sugli attributi `requires_stored_property_inits` e `warn_unqualified_access` alla sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione).
* Aggiunte informazioni su come compilare il codice in modo condizionale a seconda della versione del compilatore Swift usata alla sezione [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale).
* Aggiunte informazioni su `#dsohandle` alla sezione [Espressione letterale](/riferimento-del-linguaggio/espressioni.md#espressione-letterale).

**2018-03-29**

* Aggiornato per Swift 4.1.
* Aggiunte informazioni sulle implementazioni sintetizzate degli operatori di equivalenza alla sezione [Operatori di equivalenza](/guida-al-linguaggio/operatori-avanzati.md#operatori-di-equivalenza).
* Aggiunte informazioni sulla conformità condizionale ai protocolli alla sezione [Dichiarazione di estensione](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-estensione) del capitolo [Dichiarazioni](/riferimento-del-linguaggio/dichiarazioni.md), e alla sezione [Conformità condizionale a un protocollo](/guida-al-linguaggio/protocolli.md#conformita-condizionale-a-un-protocollo) del capitolo [Protocolli](/guida-al-linguaggio/protocolli.md).
* Aggiunte informazioni sui vincoli ricorsivi dei protocolli alla sezione [Usare un protocollo nei vincoli del suo tipo associato](/guida-al-linguaggio/generici.md#usare-un-protocollo-nei-vincoli-del-suo-tipo-associato).
* Aggiunte informazioni sulle condizioni di piattaforma `canImport()` e `targetEnvironment()` a [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale).

**2017-12-04**

* Aggiornato per Swift 4.0.3.
* Aggiornata la sezione [Espressione key-path](/riferimento-del-linguaggio/espressioni.md#espressione-key-path), ora che i key path supportano i componenti subscript.

**2017-09-19**

* Aggiornato per Swift 4.0.
* Aggiunte informazioni sull'accesso esclusivo alla memoria al capitolo [Sicurezza della memoria](/guida-al-linguaggio/sicurezza-della-memoria.md).
* Aggiunta la sezione [Tipi associati con una clausola where generica](/guida-al-linguaggio/generici.md#tipi-associati-con-una-clausola-where-generica), ora che puoi usare le clausole `where` generiche per vincolare i tipi associati.
* Aggiunte informazioni sui letterali stringa su più righe alla sezione [Letterali stringa](/guida-al-linguaggio/stringhe-e-caratteri.md#letterali-stringa) del capitolo [Stringhe e caratteri](/guida-al-linguaggio/stringhe-e-caratteri.md), e alla sezione [Letterali stringa](/riferimento-del-linguaggio/struttura-lessicale.md#letterali-stringa) del capitolo [Struttura lessicale](/riferimento-del-linguaggio/struttura-lessicale.md).
* Aggiornata la trattazione dell'attributo `objc` in [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione), ora che questo attributo viene inferito in meno punti.
* Aggiunta la sezione [Subscript generici](/guida-al-linguaggio/generici.md#subscript-generici), ora che i subscript possono essere generici.
* Aggiornata la trattazione nella sezione [Composizione di protocolli](/guida-al-linguaggio/protocolli.md#composizione-di-protocolli) del capitolo [Protocolli](/guida-al-linguaggio/protocolli.md), e nella sezione [Tipo composizione di protocolli](/riferimento-del-linguaggio/tipi.md#tipo-composizione-di-protocolli) del capitolo [Tipi](/riferimento-del-linguaggio/tipi.md), ora che i tipi composizione di protocolli possono contenere un requisito di superclasse.
* Aggiornata la trattazione delle estensioni di protocollo in [Dichiarazione di estensione](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-estensione) ora che `final` non è ammesso al loro interno.
* Aggiunte informazioni sulle precondizioni e sugli errori fatali alla sezione [Asserzioni e precondizioni](/guida-al-linguaggio/le-basi.md#asserzioni-e-precondizioni).

**2017-03-27**

* Aggiornato per Swift 3.1.
* Aggiunta la sezione [Estensioni con una clausola where generica](/guida-al-linguaggio/generici.md#estensioni-con-una-clausola-where-generica) con informazioni sulle estensioni che includono requisiti.
* Aggiunti esempi di iterazione su un intervallo alla sezione [Cicli for-in](/guida-al-linguaggio/flusso-di-controllo.md#cicli-for-in).
* Aggiunto un esempio di conversioni numeriche failable alla sezione [Inizializzatori failable](/guida-al-linguaggio/inizializzazione.md#inizializzatori-failable).
* Aggiunte informazioni alla sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) sull'uso dell'attributo `available` con una versione del linguaggio Swift.
* Aggiornata la trattazione nella sezione [Tipo funzione](/riferimento-del-linguaggio/tipi.md#tipo-funzione) per indicare che le etichette dell'argomento non sono ammesse quando si scrive un tipo funzione.
* Aggiornata la trattazione dei numeri di versione del linguaggio Swift nella sezione [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale), ora che è ammesso un numero di patch facoltativo.
* Aggiornata la trattazione nella sezione [Tipo funzione](/riferimento-del-linguaggio/tipi.md#tipo-funzione), ora che Swift distingue tra le funzioni che accettano più parametri e le funzioni che accettano un singolo parametro di tipo tupla.
* Rimossa la sezione Dynamic Type Expression dal capitolo [Espressioni](/riferimento-del-linguaggio/espressioni.md), ora che `type(of:)` è una funzione della libreria standard di Swift.

**2016-10-27**

* Aggiornato per Swift 3.0.1.
* Aggiornata la trattazione dei riferimenti weak e unowned nel capitolo [Conteggio automatico dei riferimenti](/guida-al-linguaggio/conteggio-automatico-dei-riferimenti.md).
* Aggiunte informazioni sui modificatori `unowned`, `unowned(safe)` e `unowned(unsafe)` di dichiarazione nella sezione [Modificatori di dichiarazione](/riferimento-del-linguaggio/dichiarazioni.md#modificatori-di-dichiarazione).
* Aggiunta una nota alla sezione [Type casting per Any e AnyObject](/guida-al-linguaggio/type-casting.md#type-casting-per-any-e-anyobject) sull'uso di un valore opzionale quando è previsto un valore di tipo `Any`.
* Aggiornato il capitolo [Espressioni](/riferimento-del-linguaggio/espressioni.md) per separare la trattazione delle espressioni tra parentesi e delle espressioni tupla.

**2016-09-13**

* Aggiornato per Swift 3.0.
* Aggiornata la trattazione delle funzioni nel capitolo [Funzioni](/guida-al-linguaggio/funzioni.md) e nella sezione [Dichiarazione di funzione](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-funzione) per indicare che tutti i parametri ricevono un'etichetta dell'argomento per impostazione predefinita.
* Aggiornata la trattazione degli operatori nel capitolo [Operatori avanzati](/guida-al-linguaggio/operatori-avanzati.md), ora che li implementi come metodi di tipo anziché come funzioni globali.
* Aggiunte informazioni sui modificatori di livello di accesso `open` e `fileprivate` al capitolo [Controllo degli accessi](/guida-al-linguaggio/controllo-degli-accessi.md).
* Aggiornata la trattazione di `inout` nella sezione [Dichiarazione di funzione](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-funzione) per indicare che compare davanti al tipo di un parametro anziché davanti al nome di un parametro.
* Aggiornata la trattazione degli attributi `@noescape` e `@autoclosure` nelle sezioni [Closure escaping](/guida-al-linguaggio/closure.md#closure-escaping) e [Autoclosure](/guida-al-linguaggio/closure.md#autoclosure) e nel capitolo [Attributi](/riferimento-del-linguaggio/attributi.md) ora che sono attributi di tipo anziché attributi di dichiarazione.
* Aggiunte informazioni sui gruppi di precedenza degli operatori alla sezione [Precedenza per gli operatori infissi personalizzati](/guida-al-linguaggio/operatori-avanzati.md#precedenza-per-gli-operatori-infissi-personalizzati) del capitolo [Operatori avanzati](/guida-al-linguaggio/operatori-avanzati.md), e alla sezione [Dichiarazione di gruppo di precedenza](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-gruppo-di-precedenza) del capitolo [Dichiarazioni](/riferimento-del-linguaggio/dichiarazioni.md).
* Aggiornata la trattazione in tutto il libro per usare macOS anziché OS X, `Error` anziché `ErrorProtocol`, e nomi di protocolli come `ExpressibleByStringLiteral` anziché `StringLiteralConvertible`.
* Aggiornata la trattazione nella sezione [Clausole where generiche](/guida-al-linguaggio/generici.md#clausole-where-generiche) del capitolo [Generici](/guida-al-linguaggio/generici.md) e nel capitolo [Parametri e argomenti generici](/riferimento-del-linguaggio/parametri-e-argomenti-generici.md), ora che le clausole `where` generiche si scrivono alla fine di una dichiarazione.
* Aggiornata la trattazione nella sezione [Closure escaping](/guida-al-linguaggio/closure.md#closure-escaping), ora che le closure sono non-escaping per impostazione predefinita.
* Aggiornata la trattazione nella sezione [Optional binding](/guida-al-linguaggio/le-basi.md#optional-binding) del capitolo [Le basi](/guida-al-linguaggio/le-basi.md) e nella sezione [Istruzione while](/riferimento-del-linguaggio/istruzioni.md#istruzione-while) del capitolo [Istruzioni](/riferimento-del-linguaggio/istruzioni.md), ora che le istruzioni `if`, `while` e `guard` usano un elenco di condizioni separate da virgole senza clausole `where`.
* Aggiunte informazioni sui casi di switch che hanno più pattern alla sezione [Switch](/guida-al-linguaggio/flusso-di-controllo.md#switch) del capitolo [Flusso di controllo](/guida-al-linguaggio/flusso-di-controllo.md) e alla sezione [Istruzione switch](/riferimento-del-linguaggio/istruzioni.md#istruzione-switch) del capitolo [Istruzioni](/riferimento-del-linguaggio/istruzioni.md).
* Aggiornata la trattazione dei tipi funzione nella sezione [Tipo funzione](/riferimento-del-linguaggio/tipi.md#tipo-funzione) ora che le etichette degli argomenti delle funzioni non fanno più parte del tipo di una funzione.
* Aggiornata la trattazione dei tipi composizione di protocolli nella sezione [Composizione di protocolli](/guida-al-linguaggio/protocolli.md#composizione-di-protocolli) del capitolo [Protocolli](/guida-al-linguaggio/protocolli.md) e nella sezione [Tipo composizione di protocolli](/riferimento-del-linguaggio/tipi.md#tipo-composizione-di-protocolli) del capitolo [Tipi](/riferimento-del-linguaggio/tipi.md) per usare la nuova sintassi `Protocol1 & Protocol2`.
* Aggiornata la trattazione nella sezione Dynamic Type Expression per usare la nuova sintassi `type(of:)` per le espressioni di tipo dinamico.
* Aggiornata la trattazione delle istruzioni di controllo della riga per usare la sintassi `#sourceLocation(file:line:)` nella sezione [Istruzione di controllo della riga](/riferimento-del-linguaggio/istruzioni.md#istruzione-di-controllo-della-riga).
* Aggiornata la trattazione in [Funzioni che non restituiscono mai](/riferimento-del-linguaggio/dichiarazioni.md#funzioni-che-non-restituiscono-mai) per usare il nuovo tipo `Never`.
* Aggiunte informazioni sui letterali playground alla sezione [Espressione letterale](/riferimento-del-linguaggio/espressioni.md#espressione-letterale).
* Aggiornata la trattazione nella sezione [Parametri in-out](/riferimento-del-linguaggio/dichiarazioni.md#parametri-in-out) per indicare che solo le closure non-escaping possono catturare parametri in-out.
* Aggiornata la trattazione dei parametri predefiniti nella sezione [Valori predefiniti dei parametri](/guida-al-linguaggio/funzioni.md#valori-predefiniti-dei-parametri), ora che non possono essere riordinati nelle chiamate di funzione.
* Aggiornati gli argomenti degli attributi per usare i due punti nel capitolo [Attributi](/riferimento-del-linguaggio/attributi.md).
* Aggiunte informazioni sul lancio di un errore all'interno del blocco catch di una funzione rethrowing alla sezione [Funzioni e metodi rethrowing](/riferimento-del-linguaggio/dichiarazioni.md#funzioni-e-metodi-rethrowing).
* Aggiunte informazioni sull'accesso al selettore del getter o del setter di una proprietà Objective-C alla sezione [Espressione selector](/riferimento-del-linguaggio/espressioni.md#espressione-selector).
* Aggiunte informazioni alla sezione [Dichiarazione di alias di tipo](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-alias-di-tipo) sugli alias di tipo generici e sull'uso degli alias di tipo all'interno dei protocolli.
* Aggiornata la trattazione dei tipi funzione nella sezione [Tipo funzione](/riferimento-del-linguaggio/tipi.md#tipo-funzione) per indicare che le parentesi attorno ai tipi dei parametri sono obbligatorie.
* Aggiornato il capitolo [Attributi](/riferimento-del-linguaggio/attributi.md) per indicare che gli attributi `@IBAction`, `@IBOutlet` e `@NSManaged` implicano l'attributo `@objc`.
* Aggiunte informazioni sull'attributo `@GKInspectable` alla sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione).
* Aggiornata la trattazione dei requisiti facoltativi dei protocolli nella sezione [Requisiti opzionali dei protocolli](/guida-al-linguaggio/protocolli.md#requisiti-opzionali-dei-protocolli) per chiarire che sono usati solo nel codice che interagisce con Objective-C.
* Rimossa la trattazione dell'uso esplicito di `let` nei parametri delle funzioni dalla sezione [Dichiarazione di funzione](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-funzione).
* Rimossa la trattazione del protocollo `Boolean` dal capitolo [Istruzioni](/riferimento-del-linguaggio/istruzioni.md), ora che il protocollo è stato rimosso dalla libreria standard di Swift.
* Corretta la trattazione dell'attributo `@NSApplicationMain` nella sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione).

**2016-03-21**

* Aggiornato per Swift 2.2.
* Aggiunte informazioni su come compilare il codice in modo condizionale a seconda della versione di Swift usata alla sezione [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale).
* Aggiunte informazioni su come distinguere tra metodi o inizializzatori i cui nomi differiscono solo per i nomi dei loro argomenti alla sezione [Espressione membro esplicita](/riferimento-del-linguaggio/espressioni.md#espressione-membro-esplicita).
* Aggiunte informazioni sulla sintassi `#selector` per i selettori Objective-C alla sezione [Espressione selector](/riferimento-del-linguaggio/espressioni.md#espressione-selector).
* Aggiornata la trattazione dei tipi associati per usare la parola chiave `associatedtype` nelle sezioni [Tipi associati](/guida-al-linguaggio/generici.md#tipi-associati) e [Dichiarazione di tipo associato di un protocollo](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-tipo-associato-di-un-protocollo).
* Aggiornate le informazioni sugli inizializzatori che restituiscono `nil` prima che l'istanza sia completamente inizializzata nella sezione [Inizializzatori failable](/guida-al-linguaggio/inizializzazione.md#inizializzatori-failable).
* Aggiunte informazioni sul confronto tra tuple alla sezione [Operatori di confronto](/guida-al-linguaggio/operatori-di-base.md#operatori-di-confronto).
* Aggiunte informazioni sull'uso delle parole chiave come nomi di parametro esterni alla sezione [Parole chiave e punteggiatura](/riferimento-del-linguaggio/struttura-lessicale.md#parole-chiave-e-punteggiatura).
* Aggiornata la trattazione dell'attributo `@objc` nella sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) per indicare che le enumerazioni e i casi delle enumerazioni possono usare questo attributo.
* Aggiornata la sezione [Operatori](/riferimento-del-linguaggio/struttura-lessicale.md#operatori) con la trattazione degli operatori personalizzati che contengono un punto.
* Aggiunta una nota alla sezione [Funzioni e metodi rethrowing](/riferimento-del-linguaggio/dichiarazioni.md#funzioni-e-metodi-rethrowing) sul fatto che le funzioni rethrowing non possono lanciare errori direttamente.
* Aggiunta una nota alla sezione [Osservatori di proprietà](/guida-al-linguaggio/proprieta.md#osservatori-di-proprieta) sugli osservatori di proprietà chiamati quando passi una proprietà come parametro in-out.
* Aggiunta una sezione sulla gestione degli errori al capitolo [Un tour di Swift](/benvenuto-in-swift/un-tour-di-swift.md).
* Aggiornate le figure nella sezione [Riferimenti weak](/guida-al-linguaggio/conteggio-automatico-dei-riferimenti.md#riferimenti-weak) per mostrare più chiaramente il processo di deallocazione.
* Rimossa la trattazione dei cicli `for` in stile C, degli operatori prefissi e postfissi `++` e degli operatori prefissi e postfissi `--`.
* Rimossa la trattazione degli argomenti di funzione variabili e della sintassi speciale per le funzioni curried.

**2015-10-20**

* Aggiornato per Swift 2.1.
* Aggiornate le sezioni [Interpolazione di stringhe](/guida-al-linguaggio/stringhe-e-caratteri.md#interpolazione-di-stringhe) e [Letterali stringa](/riferimento-del-linguaggio/struttura-lessicale.md#letterali-stringa) ora che le interpolazioni di stringhe possono contenere letterali stringa.
* Aggiunta la sezione [Closure escaping](/guida-al-linguaggio/closure.md#closure-escaping) con informazioni sull'attributo `@noescape`.
* Aggiornate le sezioni [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) e [Blocco di compilazione condizionale](/riferimento-del-linguaggio/istruzioni.md#blocco-di-compilazione-condizionale) con informazioni su tvOS.
* Aggiunte informazioni sul comportamento dei parametri in-out alla sezione [Parametri in-out](/riferimento-del-linguaggio/dichiarazioni.md#parametri-in-out).
* Aggiunte informazioni alla sezione [Liste di cattura](/riferimento-del-linguaggio/espressioni.md#liste-di-cattura) su come vengono catturati i valori specificati nelle liste di cattura delle closure.
* Aggiornata la sezione [Accedere alle proprietà tramite optional chaining](/guida-al-linguaggio/optional-chaining.md#accedere-alle-proprieta-tramite-optional-chaining) per chiarire come si comporta l'assegnazione tramite optional chaining.
* Migliorata la trattazione delle autoclosure nella sezione [Autoclosure](/guida-al-linguaggio/closure.md#autoclosure).
* Aggiunto un esempio che usa l'operatore `??` al capitolo [Un tour di Swift](/benvenuto-in-swift/un-tour-di-swift.md).

**2015-09-16**

* Aggiornato per Swift 2.0.
* Aggiunte informazioni sulla gestione degli errori al capitolo [Gestione degli errori](/guida-al-linguaggio/gestione-degli-errori.md), alla sezione [Istruzione do](/riferimento-del-linguaggio/istruzioni.md#istruzione-do), alla sezione [Istruzione throw](/riferimento-del-linguaggio/istruzioni.md#istruzione-throw), alla sezione [Istruzione defer](/riferimento-del-linguaggio/istruzioni.md#istruzione-defer) e alla sezione [Operatore try](/riferimento-del-linguaggio/espressioni.md#operatore-try).
* Aggiornata la sezione [Rappresentare e lanciare errori](/guida-al-linguaggio/gestione-degli-errori.md#rappresentare-e-lanciare-errori), ora che tutti i tipi possono essere conformi al protocollo `ErrorType`.
* Aggiunte informazioni sulla nuova parola chiave `try?` alla sezione [Convertire gli errori in valori opzionali](/guida-al-linguaggio/gestione-degli-errori.md#convertire-gli-errori-in-valori-opzionali).
* Aggiunte informazioni sulle enumerazioni ricorsive alla sezione [Enumerazioni ricorsive](/guida-al-linguaggio/enumerazioni.md#enumerazioni-ricorsive) del capitolo [Enumerazioni](/guida-al-linguaggio/enumerazioni.md) e alla sezione [Enumerazioni con casi di qualsiasi tipo](/riferimento-del-linguaggio/dichiarazioni.md#enumerazioni-con-casi-di-qualsiasi-tipo) del capitolo [Dichiarazioni](/riferimento-del-linguaggio/dichiarazioni.md).
* Aggiunte informazioni sul controllo della disponibilità delle API alla sezione [Verificare la disponibilità delle API](/guida-al-linguaggio/flusso-di-controllo.md#verificare-la-disponibilita-delle-api) del capitolo [Flusso di controllo](/guida-al-linguaggio/flusso-di-controllo.md) e alla sezione [Condizione di disponibilità](/riferimento-del-linguaggio/istruzioni.md#condizione-di-disponibilita) del capitolo [Istruzioni](/riferimento-del-linguaggio/istruzioni.md).
* Aggiunte informazioni sulla nuova istruzione `guard` alla sezione [Uscita anticipata](/guida-al-linguaggio/flusso-di-controllo.md#uscita-anticipata) del capitolo [Flusso di controllo](/guida-al-linguaggio/flusso-di-controllo.md) e alla sezione [Istruzione guard](/riferimento-del-linguaggio/istruzioni.md#istruzione-guard) del capitolo [Istruzioni](/riferimento-del-linguaggio/istruzioni.md).
* Aggiunte informazioni sulle estensioni di protocollo alla sezione [Estensioni dei protocolli](/guida-al-linguaggio/protocolli.md#estensioni-dei-protocolli) del capitolo [Protocolli](/guida-al-linguaggio/protocolli.md).
* Aggiunte informazioni sul controllo degli accessi per gli unit test alla sezione [Livelli di accesso per i target di unit test](/guida-al-linguaggio/controllo-degli-accessi.md#livelli-di-accesso-per-i-target-di-unit-test) del capitolo [Controllo degli accessi](/guida-al-linguaggio/controllo-degli-accessi.md).
* Aggiunte informazioni sul nuovo pattern opzionale alla sezione [Pattern opzionale](/riferimento-del-linguaggio/pattern.md#pattern-opzionale) del capitolo [Pattern](/riferimento-del-linguaggio/pattern.md).
* Aggiornata la sezione [Repeat-while](/guida-al-linguaggio/flusso-di-controllo.md#repeat-while) con informazioni sul ciclo `repeat`-`while`.
* Aggiornato il capitolo [Stringhe e caratteri](/guida-al-linguaggio/stringhe-e-caratteri.md), ora che `String` non è più conforme al protocollo `CollectionType` della libreria standard di Swift.
* Aggiunte informazioni sulla nuova funzione della libreria standard di Swift `print(_:separator:terminator)` alla sezione [Stampare costanti e variabili](/guida-al-linguaggio/le-basi.md#stampare-costanti-e-variabili).
* Aggiunte informazioni sul comportamento dei casi di enumerazione con valori grezzi `String` alla sezione [Valori grezzi assegnati implicitamente](/guida-al-linguaggio/enumerazioni.md#valori-grezzi-assegnati-implicitamente) del capitolo [Enumerazioni](/guida-al-linguaggio/enumerazioni.md) e alla sezione [Enumerazioni con casi di un tipo a valore grezzo](/riferimento-del-linguaggio/dichiarazioni.md#enumerazioni-con-casi-di-un-tipo-a-valore-grezzo) del capitolo [Dichiarazioni](/riferimento-del-linguaggio/dichiarazioni.md).
* Aggiunte informazioni sull'attributo `@autoclosure` — inclusa la sua forma `@autoclosure(escaping)` — alla sezione [Autoclosure](/guida-al-linguaggio/closure.md#autoclosure).
* Aggiornata la sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) con informazioni sugli attributi `@available` e `@warn_unused_result`.
* Aggiornata la sezione [Attributi di tipo](/riferimento-del-linguaggio/attributi.md#attributi-di-tipo) con informazioni sull'attributo `@convention`.
* Aggiunto un esempio di uso di più optional binding con una clausola `where` alla sezione [Optional binding](/guida-al-linguaggio/le-basi.md#optional-binding).
* Aggiunte informazioni alla sezione [Letterali stringa](/riferimento-del-linguaggio/struttura-lessicale.md#letterali-stringa) sul fatto che la concatenazione di letterali stringa con l'operatore `+` avviene in fase di compilazione.
* Aggiunte informazioni alla sezione [Tipo metatipo](/riferimento-del-linguaggio/tipi.md#tipo-metatipo) sul confronto dei valori metatipo e sul loro uso per costruire istanze con espressioni di inizializzazione.
* Aggiunta una nota alla sezione [Debug con le asserzioni](/guida-al-linguaggio/le-basi.md#debug-con-le-asserzioni) su quando le asserzioni definite dall'utente sono disabilitate.
* Aggiornata la trattazione dell'attributo `@NSManaged` nella sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione), ora che l'attributo può essere applicato a determinati metodi di istanza.
* Aggiornata la sezione [Parametri variadici](/guida-al-linguaggio/funzioni.md#parametri-variadici), ora che i parametri variadici possono essere dichiarati in qualsiasi posizione nell'elenco dei parametri di una funzione.
* Aggiunte informazioni alla sezione [Override di un inizializzatore failable](/guida-al-linguaggio/inizializzazione.md#override-di-un-inizializzatore-failable) su come un inizializzatore non failable può delegare verso l'alto a un inizializzatore failable eseguendo l'unwrapping forzato del risultato dell'inizializzatore della superclasse.
* Aggiunte informazioni sull'uso dei casi di enumerazione come funzioni alla sezione [Enumerazioni con casi di qualsiasi tipo](/riferimento-del-linguaggio/dichiarazioni.md#enumerazioni-con-casi-di-qualsiasi-tipo).
* Aggiunte informazioni sul riferimento esplicito a un inizializzatore alla sezione [Espressione di inizializzazione](/riferimento-del-linguaggio/espressioni.md#espressione-di-inizializzazione).
* Aggiunte informazioni sulla configurazione di build e sulle istruzioni di controllo della riga alla sezione [Istruzioni di controllo del compilatore](/riferimento-del-linguaggio/istruzioni.md#istruzioni-di-controllo-del-compilatore).
* Aggiunta una nota alla sezione [Tipo metatipo](/riferimento-del-linguaggio/tipi.md#tipo-metatipo) sulla costruzione di istanze di classi a partire da valori metatipo.
* Aggiunta una nota alla sezione [Riferimenti weak](/guida-al-linguaggio/conteggio-automatico-dei-riferimenti.md#riferimenti-weak) sul fatto che i riferimenti weak non sono adatti al caching.
* Aggiornata una nota nella sezione [Proprietà di tipo](/guida-al-linguaggio/proprieta.md#proprieta-di-tipo) per menzionare che le proprietà di tipo memorizzate sono inizializzate in modo lazy.
* Aggiornata la sezione [Catturare valori](/guida-al-linguaggio/closure.md#catturare-valori) per chiarire come vengono catturate variabili e costanti nelle closure.
* Aggiornata la sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione) per descrivere quando puoi applicare l'attributo `@objc` alle classi.
* Aggiunta una nota alla sezione [Gestire gli errori](/guida-al-linguaggio/gestione-degli-errori.md#gestire-gli-errori) sulle prestazioni dell'esecuzione di un'istruzione `throw`. Aggiunte informazioni simili sull'istruzione `do` nella sezione [Istruzione do](/riferimento-del-linguaggio/istruzioni.md#istruzione-do).
* Aggiornata la sezione [Proprietà di tipo](/guida-al-linguaggio/proprieta.md#proprieta-di-tipo) con informazioni sulle proprietà di tipo memorizzate e calcolate per classi, strutture ed enumerazioni.
* Aggiornata la sezione [Istruzione break](/riferimento-del-linguaggio/istruzioni.md#istruzione-break) con informazioni sulle istruzioni break etichettate.
* Aggiornata una nota nella sezione [Osservatori di proprietà](/guida-al-linguaggio/proprieta.md#osservatori-di-proprieta) per chiarire il comportamento degli osservatori `willSet` e `didSet`.
* Aggiunta una nota alla sezione [Livelli di accesso](/guida-al-linguaggio/controllo-degli-accessi.md#livelli-di-accesso) con informazioni sull'ambito dell'accesso `private`.
* Aggiunta una nota alla sezione [Riferimenti weak](/guida-al-linguaggio/conteggio-automatico-dei-riferimenti.md#riferimenti-weak) sulle differenze nei riferimenti weak tra i sistemi con garbage collection e ARC.
* Aggiornata la sezione [Caratteri speciali nei letterali stringa](/guida-al-linguaggio/stringhe-e-caratteri.md#caratteri-speciali-nei-letterali-stringa) con una definizione più precisa degli scalari Unicode.

**2015-04-08**

* Aggiornato per Swift 1.2.
* Swift ha ora un tipo collezione nativo `Set`. Per maggiori informazioni, vedi [Set](/guida-al-linguaggio/tipi-collezione.md#set).
* `@autoclosure` è ora un attributo della dichiarazione del parametro, non del suo tipo. Esiste anche un nuovo attributo di dichiarazione di parametro `@noescape`. Per maggiori informazioni, vedi [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione).
* I metodi e le proprietà di tipo usano ora la parola chiave `static` come modificatore di dichiarazione. Per maggiori informazioni vedi [Proprietà variabili di tipo](/riferimento-del-linguaggio/dichiarazioni.md#proprieta-variabili-di-tipo).
* Swift include ora gli operatori di downcast failable `as?` e `as!`. Per maggiori informazioni, vedi [Verificare la conformità a un protocollo](/guida-al-linguaggio/protocolli.md#verificare-la-conformita-a-un-protocollo).
* Aggiunta una nuova sezione della guida su [Indici delle stringhe](/guida-al-linguaggio/stringhe-e-caratteri.md#indici-delle-stringhe).
* Rimossi gli operatori di divisione con overflow (`&/`) e di resto con overflow (`&%`) da [Operatori di overflow](/guida-al-linguaggio/operatori-avanzati.md#operatori-di-overflow).
* Aggiornate le regole per la dichiarazione e l'inizializzazione di costanti e proprietà costanti. Per maggiori informazioni, vedi [Dichiarazione di costante](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-costante).
* Aggiornata la definizione degli scalari Unicode nei letterali stringa. Vedi [Caratteri speciali nei letterali stringa](/guida-al-linguaggio/stringhe-e-caratteri.md#caratteri-speciali-nei-letterali-stringa).
* Aggiornata [Operatori di intervallo](/guida-al-linguaggio/operatori-di-base.md#operatori-di-intervallo) per indicare che un intervallo semiaperto con lo stesso indice iniziale e finale sarà vuoto.
* Aggiornata [Le closure sono tipi riferimento](/guida-al-linguaggio/closure.md#le-closure-sono-tipi-riferimento) per chiarire le regole di cattura delle variabili.
* Aggiornata [Overflow dei valori](/guida-al-linguaggio/operatori-avanzati.md#overflow-dei-valori) per chiarire il comportamento in caso di overflow degli interi con e senza segno
* Aggiornata [Dichiarazione di protocollo](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-protocollo) per chiarire l'ambito e i membri delle dichiarazioni di protocollo.
* Aggiornata [Definire una lista di cattura](/guida-al-linguaggio/conteggio-automatico-dei-riferimenti.md#definire-una-lista-di-cattura) per chiarire la sintassi dei riferimenti weak e unowned nelle liste di cattura delle closure.
* Aggiornata [Operatori](/riferimento-del-linguaggio/struttura-lessicale.md#operatori) per menzionare esplicitamente esempi di caratteri supportati per gli operatori personalizzati, come quelli dei blocchi Unicode Mathematical Operators, Miscellaneous Symbols e Dingbats.
* Le costanti possono ora essere dichiarate senza essere inizializzate nell'ambito locale di una funzione. Devono avere un valore impostato prima del primo uso. Per maggiori informazioni, vedi [Dichiarazione di costante](/riferimento-del-linguaggio/dichiarazioni.md#dichiarazione-di-costante).
* In un inizializzatore, alle proprietà costanti si può ora assegnare un valore una sola volta. Per maggiori informazioni, vedi [Assegnare proprietà costanti durante l'inizializzazione](/guida-al-linguaggio/inizializzazione.md#assegnare-proprieta-costanti-durante-linizializzazione).
* Più optional binding possono ora comparire in una singola istruzione `if` come elenco di espressioni di assegnazione separate da virgole. Per maggiori informazioni, vedi [Optional binding](/guida-al-linguaggio/le-basi.md#optional-binding).
* Un'[Espressione di optional chaining](/riferimento-del-linguaggio/espressioni.md#espressione-di-optional-chaining) deve comparire all'interno di un'espressione postfissa.
* I cast di protocollo non sono più limitati ai protocolli `@objc`.
* I cast di tipo che possono fallire in fase di esecuzione usano ora l'operatore `as?` o `as!`, e i cast di tipo che è garantito non falliscano usano l'operatore `as`. Per maggiori informazioni, vedi [Operatori di type casting](/riferimento-del-linguaggio/espressioni.md#operatori-di-type-casting).

**2014-10-16**

* Aggiornato per Swift 1.1.
* Aggiunta una guida completa agli [Inizializzatori failable](/guida-al-linguaggio/inizializzazione.md#inizializzatori-failable).
* Aggiunta una descrizione dei [Requisiti di inizializzatore failable](/guida-al-linguaggio/protocolli.md#requisiti-di-inizializzatore-failable) per i protocolli.
* Le costanti e le variabili di tipo `Any` possono ora contenere istanze di funzioni. Aggiornato l'esempio in [Type casting per Any e AnyObject](/guida-al-linguaggio/type-casting.md#type-casting-per-any-e-anyobject) per mostrare come verificare un tipo funzione ed eseguire il cast a esso all'interno di un'istruzione `switch`.
* Le enumerazioni con valori grezzi hanno ora una proprietà `rawValue` anziché un metodo `toRaw()` e un inizializzatore failable con un parametro `rawValue` anziché un metodo `fromRaw()`. Per maggiori informazioni, vedi [Valori grezzi](/guida-al-linguaggio/enumerazioni.md#valori-grezzi) e [Enumerazioni con casi di un tipo a valore grezzo](/riferimento-del-linguaggio/dichiarazioni.md#enumerazioni-con-casi-di-un-tipo-a-valore-grezzo).
* Aggiunta una nuova sezione di riferimento sugli [Inizializzatori failable](/riferimento-del-linguaggio/dichiarazioni.md#inizializzatori-failable), che possono causare il fallimento dell'inizializzazione.
* Gli operatori personalizzati possono ora contenere il carattere `?`. Aggiornato il riferimento [Operatori](/riferimento-del-linguaggio/struttura-lessicale.md#operatori) per descrivere le regole riviste. Rimossa una descrizione duplicata dell'insieme valido di caratteri degli operatori da [Operatori personalizzati](/guida-al-linguaggio/operatori-avanzati.md#operatori-personalizzati).

**2014-08-18**

* Nuovo documento che descrive Swift 1.0, il nuovo linguaggio di programmazione di Apple per creare app per iOS e OS X.
* Aggiunta una nuova sezione sui [Requisiti di inizializzatore](/guida-al-linguaggio/protocolli.md#requisiti-di-inizializzatore) nei protocolli.
* Aggiunta una nuova sezione sui [Protocolli riservati alle classi](/guida-al-linguaggio/protocolli.md#protocolli-riservati-alle-classi).
* [Asserzioni e precondizioni](/guida-al-linguaggio/le-basi.md#asserzioni-e-precondizioni) possono ora usare l'interpolazione di stringhe. Rimossa una nota che affermava il contrario.
* Aggiornata la sezione [Concatenare stringhe e caratteri](/guida-al-linguaggio/stringhe-e-caratteri.md#concatenare-stringhe-e-caratteri) per riflettere il fatto che i valori `String` e `Character` non possono più essere combinati con l'operatore di addizione (`+`) o con l'operatore di assegnazione con addizione (`+=`). Questi operatori sono ora usati solo con valori `String`. Usa il metodo `append(_:)` del tipo `String` per aggiungere un singolo valore `Character` alla fine di una stringa.
* Aggiunte informazioni sull'attributo `availability` alla sezione [Attributi di dichiarazione](/riferimento-del-linguaggio/attributi.md#attributi-di-dichiarazione).
* Gli [Opzionali](/guida-al-linguaggio/le-basi.md#opzionali) non vengono più valutati implicitamente come `true` quando hanno un valore e `false` quando non ce l'hanno, per evitare confusione quando si lavora con valori `Bool` opzionali. Esegui invece un controllo esplicito rispetto a `nil` con gli operatori `==` o `!=` per scoprire se un opzionale contiene un valore.
* Swift ha ora un [Operatore di nil-coalescing](/guida-al-linguaggio/operatori-di-base.md#operatore-di-nil-coalescing) (`a ?? b`), che esegue l'unwrapping del valore di un opzionale se esiste, o restituisce un valore predefinito se l'opzionale è `nil`.
* Aggiornata e ampliata la sezione [Confrontare le stringhe](/guida-al-linguaggio/stringhe-e-caratteri.md#confrontare-le-stringhe) per riflettere e dimostrare che il confronto tra stringhe e caratteri e il confronto di prefissi e suffissi si basano ora sull'equivalenza canonica Unicode dei cluster di grafemi estesi.
* Ora puoi provare a impostare il valore di una proprietà, ad assegnare un valore a un subscript o a chiamare un metodo mutating o un operatore tramite [Optional chaining](/guida-al-linguaggio/optional-chaining.md). Le informazioni su [Accedere alle proprietà tramite optional chaining](/guida-al-linguaggio/optional-chaining.md#accedere-alle-proprieta-tramite-optional-chaining) sono state aggiornate di conseguenza, e gli esempi di verifica del successo di una chiamata di metodo in [Chiamare metodi tramite optional chaining](/guida-al-linguaggio/optional-chaining.md#chiamare-metodi-tramite-optional-chaining) sono stati ampliati per mostrare come verificare il successo dell'impostazione di una proprietà.
* Aggiunta una nuova sezione su [Accedere a subscript di tipo opzionale](/guida-al-linguaggio/optional-chaining.md#accedere-a-subscript-di-tipo-opzionale) tramite optional chaining.
* Aggiornata la sezione [Accedere a un array e modificarlo](/guida-al-linguaggio/tipi-collezione.md#accedere-a-un-array-e-modificarlo) per indicare che non puoi più aggiungere un singolo elemento a un array con l'operatore `+=`. Usa invece il metodo `append(_:)`, oppure aggiungi un array di un solo elemento con l'operatore `+=`.
* Aggiunta una nota sul fatto che il valore iniziale `a` degli [Operatori di intervallo](/guida-al-linguaggio/operatori-di-base.md#operatori-di-intervallo) `a...b` e `a..<b` non deve essere maggiore del valore finale `b`.
* Riscritto il capitolo [Ereditarietà](/guida-al-linguaggio/ereditarieta.md) per rimuovere la sua trattazione introduttiva degli override degli inizializzatori. Questo capitolo si concentra ora maggiormente sull'aggiunta di nuove funzionalità in una sottoclasse e sulla modifica delle funzionalità esistenti tramite override. L'esempio del capitolo su [Override di getter e setter delle proprietà](/guida-al-linguaggio/ereditarieta.md#override-di-getter-e-setter-delle-proprieta) è stato riscritto per mostrare come eseguire l'override di una proprietà `description`. (Gli esempi di modifica del valore predefinito di una proprietà ereditata nell'inizializzatore di una sottoclasse sono stati spostati nel capitolo [Inizializzazione](/guida-al-linguaggio/inizializzazione.md).)
* Aggiornata la sezione [Ereditarietà e override degli inizializzatori](/guida-al-linguaggio/inizializzazione.md#ereditarieta-e-override-degli-inizializzatori) per indicare che gli override di un inizializzatore designato devono ora essere contrassegnati con il modificatore `override`.
* Aggiornata la sezione [Inizializzatori required](/guida-al-linguaggio/inizializzazione.md#inizializzatori-required) per indicare che il modificatore `required` si scrive ora prima di ogni implementazione in una sottoclasse di un inizializzatore required, e che i requisiti degli inizializzatori required possono ora essere soddisfatti da inizializzatori ereditati automaticamente.
* I [Metodi operatore](/guida-al-linguaggio/operatori-avanzati.md#metodi-operatore) infissi non richiedono più l'attributo `@infix`.
* Gli attributi `@prefix` e `@postfix` per gli [Operatori prefissi e postfissi](/guida-al-linguaggio/operatori-avanzati.md#operatori-prefissi-e-postfissi) sono stati sostituiti dai modificatori di dichiarazione `prefix` e `postfix`.
* Aggiunta una nota sull'ordine in cui gli [Operatori prefissi e postfissi](/guida-al-linguaggio/operatori-avanzati.md#operatori-prefissi-e-postfissi) vengono applicati quando sia un operatore prefisso sia un operatore postfisso vengono applicati allo stesso operando.
* Le funzioni operatore per gli [Operatori di assegnamento composti](/guida-al-linguaggio/operatori-avanzati.md#operatori-di-assegnamento-composti) non usano più l'attributo `@assignment` quando si definisce la funzione.
* L'ordine in cui si specificano i modificatori quando si definiscono [Operatori personalizzati](/guida-al-linguaggio/operatori-avanzati.md#operatori-personalizzati) è cambiato. Ora scrivi `prefix operator` anziché `operator prefix`, per esempio.
* Aggiunte informazioni sul modificatore di dichiarazione `dynamic` in [Modificatori di dichiarazione](/riferimento-del-linguaggio/dichiarazioni.md#modificatori-di-dichiarazione).
* Aggiunte informazioni su come funziona l'inferenza di tipo con i [Letterali](/riferimento-del-linguaggio/struttura-lessicale.md#letterali).
* Aggiunte ulteriori informazioni sulle funzioni curried.
* Aggiunto un nuovo capitolo su [Controllo degli accessi](/guida-al-linguaggio/controllo-degli-accessi.md).
* Aggiornato il capitolo [Stringhe e caratteri](/guida-al-linguaggio/stringhe-e-caratteri.md) per riflettere il fatto che il tipo `Character` di Swift rappresenta ora un singolo cluster di grafemi esteso Unicode. Include una nuova sezione sui [Cluster di grafemi estesi](/guida-al-linguaggio/stringhe-e-caratteri.md#cluster-di-grafemi-estesi) e ulteriori informazioni sui [Valori scalari Unicode](/guida-al-linguaggio/stringhe-e-caratteri.md#valori-scalari-unicode) e su [Confrontare le stringhe](/guida-al-linguaggio/stringhe-e-caratteri.md#confrontare-le-stringhe).
* Aggiornata la sezione [Letterali stringa](/guida-al-linguaggio/stringhe-e-caratteri.md#letterali-stringa) per indicare che gli scalari Unicode all'interno dei letterali stringa si scrivono ora come `\u{n}`, dove `n` è un numero esadecimale tra 0 e 10FFFF, l'intervallo dello spazio dei codici di Unicode.
* La proprietà `length` di `NSString` è ora mappata sul tipo nativo `String` di Swift come `utf16Count`, non `utf16count`.
* Il tipo nativo `String` di Swift non ha più una proprietà `uppercaseString` o `lowercaseString`. La sezione corrispondente in [Stringhe e caratteri](/guida-al-linguaggio/stringhe-e-caratteri.md) è stata rimossa, e vari esempi di codice sono stati aggiornati.
* Aggiunta una nuova sezione sugli [Parametri dell'inizializzatore senza etichette degli argomenti](/guida-al-linguaggio/inizializzazione.md#parametri-dellinizializzatore-senza-etichette-degli-argomenti).
* Aggiunta una nuova sezione sugli [Inizializzatori required](/guida-al-linguaggio/inizializzazione.md#inizializzatori-required).
* Aggiunta una nuova sezione sui [Tipi di ritorno tupla opzionali](/guida-al-linguaggio/funzioni.md#tipi-di-ritorno-tupla-opzionali).
* Aggiornata la sezione [Annotazioni di tipo](/guida-al-linguaggio/le-basi.md#annotazioni-di-tipo) per indicare che più variabili correlate possono essere definite su una singola riga con un'unica annotazione di tipo.
* Gli attributi `@optional`, `@lazy`, `@final` e `@required` sono ora i [Modificatori di dichiarazione](/riferimento-del-linguaggio/dichiarazioni.md#modificatori-di-dichiarazione) `optional`, `lazy`, `final` e `required`.
* Aggiornato l'intero libro per indicare `..<` come l'[Operatore di intervallo semiaperto](/guida-al-linguaggio/operatori-di-base.md#operatore-di-intervallo-semiaperto) (anziché l'“operatore di intervallo semichiuso”).
* Aggiornata la sezione [Accedere a un dizionario e modificarlo](/guida-al-linguaggio/tipi-collezione.md#accedere-a-un-dizionario-e-modificarlo) per indicare che `Dictionary` ha ora una proprietà booleana `isEmpty`.
* Chiarito l'elenco completo dei caratteri che possono essere usati quando si definiscono [Operatori personalizzati](/guida-al-linguaggio/operatori-avanzati.md#operatori-personalizzati).
* `nil` e i booleani `true` e `false` sono ora [Letterali](/riferimento-del-linguaggio/struttura-lessicale.md#letterali).
* Il tipo `Array` di Swift ha ora una semantica di valore completa. Aggiornate le informazioni su [Mutabilità delle collezioni](/guida-al-linguaggio/tipi-collezione.md#mutabilita-delle-collezioni) e [Array](/guida-al-linguaggio/tipi-collezione.md#array) per riflettere il nuovo approccio. Chiarito inoltre il comportamento di assegnazione e copia per stringhe, array e dizionari.
* La [Sintassi abbreviata del tipo array](/guida-al-linguaggio/tipi-collezione.md#sintassi-abbreviata-del-tipo-array) si scrive ora come `[SomeType]` anziché `SomeType[]`.
* Aggiunta una nuova sezione sulla [Sintassi abbreviata del tipo dizionario](/guida-al-linguaggio/tipi-collezione.md#sintassi-abbreviata-del-tipo-dizionario), che si scrive come `[KeyType: ValueType]`.
* Aggiunta una nuova sezione sui [Valori hash per i tipi set](/guida-al-linguaggio/tipi-collezione.md#valori-hash-per-i-tipi-set).
* Gli esempi di [Espressioni closure](/guida-al-linguaggio/closure.md#espressioni-closure) usano ora la funzione globale `sorted(_:_:)` anziché la funzione globale `sort(_:_:)`, per riflettere la nuova semantica di valore degli array.
* Aggiornate le informazioni sugli [Inizializzatori memberwise per i tipi struttura](/guida-al-linguaggio/inizializzazione.md#inizializzatori-memberwise-per-i-tipi-struttura) per chiarire che l'inizializzatore memberwise delle strutture è reso disponibile anche se le proprietà memorizzate di una struttura non hanno valori predefiniti.
* Aggiornato a `..<` anziché `..` per l'[Operatore di intervallo semiaperto](/guida-al-linguaggio/operatori-di-base.md#operatore-di-intervallo-semiaperto).
* Aggiunto un esempio di [Estendere un tipo generico](/guida-al-linguaggio/generici.md#estendere-un-tipo-generico).
