Ho una breve domanda su ARC in iOS. (Scusate, ho chiesto così tanti di questi tipi di domande, ma sono solo molto confuso riguardo alla gestione della memoria.). È importante notare che non ho mai usato il vecchio sistema di manutenzione della memoria (retain
, release
, assign
ecc.), Quindi non so davvero cosa significano questi termini.Quando vengono rilasciate proprietà forti in ARC in iOS?
In questo momento sono confuso riguardo a quello che devo fare per assicurarmi che le proprietà forti vengano rilasciate correttamente. Ad esempio, supponiamo che io crei un'app per la scuola e che l'oggetto School
contenga forti riferimenti di proprietà a 5 diversi oggetti Child
(non in una matrice). Ogni oggetto Child
ha un puntatore forte (proprietà) su un oggetto Book
.
Se rimuovo uno degli oggetti Child
dalla mia scuola (diciamo facendo la sua proprietà = nil, o cambiando la mia proprietà in modo che punti a un nuovo oggetto), il suo Book
sarà correttamente rilasciato? Cosa devo fare per assicurarmi che sia così? Devo scrivere self.myBook = nil
in un metodo dealloc
? Cosa fare se Child
era un controller di visualizzazione, dovrei scrivere self.myBook = nil
nel metodo viewDidUnload?
Ho scelto come target solo iOS 5 (e versioni successive), quindi il vecchio modo di gestione della memoria non mi importa.
Ti suggerisco di leggere questo: http://clang.llvm.org/docs/AutomaticReferenceCounting.html –
Grazie per il suggerimento. Darei un'occhiata a questo. – Nosrettap