Ich habe Zweifel an Protokollen in Swift über die Verwendung von var und den Schlüsselwörtern {get set} .
Aus der Apple-Dokumentation :
Wenn ein Protokoll erfordert, dass eine Eigenschaft abrufbar und einstellbar ist, kann diese Eigenschaftsanforderung nicht durch eine konstant gespeicherte Eigenschaft oder eine schreibgeschützte berechnete Eigenschaft erfüllt werden. Wenn das Protokoll nur erfordert, dass eine Eigenschaft abrufbar ist, kann die Anforderung von jeder Art von Eigenschaft erfüllt werden, und es gilt, dass die Eigenschaft auch einstellbar ist, wenn dies für Ihren eigenen Code nützlich ist.
Eigenschaftsanforderungen werden immer als variable Eigenschaften deklariert, denen das Schlüsselwort var vorangestellt ist. Abrufbare und einstellbare Eigenschaften werden durch Schreiben von {get set} nach ihrer Typdeklaration angegeben, und abrufbare Eigenschaften werden durch Schreiben von {get} angegeben.
Ich kann nicht verstehen, warum ich let nicht verwenden kann . Ein var in einem Protokoll mit nur get ist nicht nur ein let ?
Etwas wie das:
protocol someProtocol
{
var someProperty: String { get }
}
es wäre nicht nur:
protocol someProtocol
{
let someProperty: String
}
Ich vermisse etwas?