In Swift, qual è il modo convenzionale per definire il modello comune in cui una proprietà deve essere esternamente in sola lettura, ma modificabile internamente dalla classe (e sottoclassi) che lo possiede.Swift di sola lettura esterna, proprietà di lettura interna
in Objective-C, vi sono le seguenti opzioni:
- dichiarare la proprietà come sola lettura nell'interfaccia e utilizzare un'estensione di classe per accedere alla proprietà internamente. Questo è l'accesso basato sui messaggi, quindi funziona bene con KVO, atomicità, ecc.
- Dichiarare la proprietà come readonly nell'interfaccia, ma accedere internamente al supporto di ivar. Poiché l'accesso predefinito per un ivar è protetto, questo funziona bene in una gerarchia di classi, in cui le sottoclassi saranno anche in grado di modificare il valore, ma il campo è altrimenti in sola lettura.
In Java la convenzione è:
- dichiarare un campo di protezione, e implementare un pubblico, di sola lettura getter (metodo).
Qual è l'idioma per Swift?
grande domanda! Grazie. Molto ben scritto – SuperDuperApps