Ho dei dubbi sui protocolli in Swift sull'uso di var e sulle parole chiave {get set}.Perché non posso usare il protocollo let in Swift?
Se un protocollo richiede una proprietà di essere ottenibile e impostabile, che requisito proprietà non può essere soddisfatta da una struttura costante memorizzato o una proprietà calcolata di sola lettura. Se il protocollo richiede solo una proprietà , il requisito può essere soddisfatto da qualsiasi tipo di proprietà ed è valido anche per la proprietà che può essere impostata anche se è utile per il proprio codice.
I requisiti di proprietà sono sempre dichiarati come proprietà variabili, preceduti dalla parola chiave var. Le proprietà selezionabili e impostabili sono indicate dalla scrittura {get set} dopo la loro dichiarazione di tipo e le proprietà ottenibili da vengono indicate scrivendo {get}.
non riesco a capire il motivo per cui non posso usare diamo. A var in un protocollo con solo get non è solo un let?
Qualcosa di simile a questo:
protocol someProtocol
{
var someProperty: String { get }
}
non sarebbe solo:
protocol someProtocol
{
let someProperty: String
}
mi manca qualcosa?
una proprietà gettable può ancora modificare i valori - l'implementatore del protocollo può sempre restituire valori diversi, il chiamante del protocollo non può semplicemente impostarli. lascia, d'altra parte, definisce una costante. può essere impostato solo una volta e non può avere un valore diverso. – pvg
@pvg, perché non hai postato questo come risposta? – courteouselk
sì, questa è la risposta corretta qui. – sunshinejr