Was ist in Swift die herkömmliche Methode, um das allgemeine Muster zu definieren, bei dem eine Eigenschaft extern schreibgeschützt, aber intern von der Klasse (und den Unterklassen), die sie besitzen, geändert werden kann.
In Objective-C gibt es folgende Optionen:
- Deklarieren Sie die Eigenschaft in der Schnittstelle als schreibgeschützt und verwenden Sie eine Klassenerweiterung, um intern auf die Eigenschaft zuzugreifen. Dies ist ein nachrichtenbasierter Zugriff, daher funktioniert er gut mit KVO, Atomizität usw.
- Deklarieren Sie die Eigenschaft in der Schnittstelle als schreibgeschützt, greifen Sie jedoch intern auf den Hintergrund ivar zu. Da der Standardzugriff für ein ivar geschützt ist, funktioniert dies gut in einer Klassenhierarchie, in der Unterklassen auch den Wert ändern können, das Feld jedoch ansonsten schreibgeschützt ist.
In Java lautet die Konvention:
- Deklarieren Sie ein geschütztes Feld und implementieren Sie einen öffentlichen schreibgeschützten Getter (Methode).
Was ist die Redewendung für Swift?
var
Schlüsselwort hinzuzufügen , damit es kompiliert wird.)