Automatic Reference Counting
# Automatic Reference Counting

Nella programmazione Objective-C, Automatic Reference Counting (ARC) è un miglioramento del sistema di gestione della memoria, dove il problema di tenere traccia del reference count di un oggetto viene spostato dal programmatore al compilatore.

Nella programmazione Objective-C tradizionale, il programmatore avrebbe dovuto mandare dei messaggi di retain e release agli oggetti per deallocare o prevenire la deallocazione. Con ARC, il compilatore lo fa automaticamente esaminando il codice sorgente e aggiungendo i messaggi di retain e release nel codice compilato.

ARC non è uguale al garbage collector, visto che non ci sono thread in background che agiscono per deallocare gli oggetti che non sono più puntati in altre parti del codice. Al contrario del garbage collector, ARC non gestisce automaticamente reference counting i riferimenti nei clicli; è compito del programmatore fermare i cicli utilizzando weak references

ARC è stato introdotto da Apple Inc. nel 2011 per lo sviluppo di applicazioni su OS X Lion e iOS 5.

David Chisnall ainformIT ha detto di vedere ARC come "the first significant improvement to Objective-C since the 1980s" (il primo miglioramento significativo per l'Objective-C dagli anni '80).

ARC è supportato in Xcode 4.2 o superiori, OS X Snow Leopard o superiori, e iOS 4.0 o superiori, anche se da OS X Lion e iOS 5 viene raccomandato di utilizzarlo, weak references inclusi.

