Anche se sono sicuro che esistano, ho difficoltà a trovare o definire una best practice ufficiale per dichiarare gli outlets in un ViewController.Gli IBOutlet dovrebbero essere ivar o proprietà?
Ci sono 3 opzioni per quanto posso vedere:
- ivar solo
- proprietà solo
- proprietà sostenuto con un Ivar
Xcode si blocca al momento quando provo e auto -generare una proprietà trascinando nel mio ViewController da IB, ma da quello che ricordo, facendo ciò crea una proprietà senza un ivar. È anche possibile trascinare nella sezione di ivar e questo creerà un ivar senza una proprietà. Questo suggerisce che solo le prese di sola e ivar sono OK con Apple.
Quindi in viewDidUnload è necessario assegnare nil a uno qualsiasi dei nostri punti vendita, ma per quanto riguarda dealloc. Se abbiamo usato una proprietà senza un ivar, come possiamo rilasciare il nostro outlet affermando che non dovremmo usare alcun accessorio in un init o dealloc?
Mi sembra che l'unico schema che ci consentirebbe di rilasciare la nostra presa senza un accessorio è l'utilizzo di una proprietà supportata da un ivar, quindi possiamo rilasciare manualmente il nostro ivar in dealloc senza utilizzare il suo accessor, tuttavia questo è il un'opzione che la generazione del codice di Apple non supporta.
Grazie. Questo è chiaro e un bel collegamento. – Undistraction
@ 1ndivisibile Prego. Voto superiore o segno come risposta se lo si desidera. Saluti. –
La chiamata a super dealloc dovrebbe venire dopo la versione della variabile di istanza. –