Wie bereits erwähnt, stehen beim Erstellen von .swift-Dateien im Quellordner diese automatisch Ihrem Spielplatzcode zur Verfügung. Um den Zugriff auf verschiedene Teile dieser Datei zu steuern, können Sie Modifikatoren für die Zugriffsebene verwenden, die : public
, internal
& private
.
Laut Swift Programmiersprache Zugriffskontrolle
Die Standardzugriffsebene ist in den meisten Fällen internal
diejenige, auf die innerhalb des Moduls zugegriffen werden kann, nicht jedoch außerhalb.
Mit anderen Worten, wenn Sie eine Klasse ohne Zugriffsmodifikator deklarieren, können Sie von einer anderen Datei im Quellordner darauf zugreifen, jedoch NICHT in der Hauptdatei Ihres Spielplatzes. Wenn Sie dagegen eine Klasse mit dem Modifikator public deklarieren, können Sie in beiden Fällen darauf zugreifen.
für den praktischen Gebrauch: Lassen Sie uns eine Singleton-Implementierung durchführen. Zuerst: Ich erstelle eine neue Datei im Quellordner mit dem Namen 'Singy.swift' mit folgendem Code:
public class Singy {
public var name = ""
private static var instance: Singy?
private init() {}
public static func getSingy() -> Singy {
if Singy.instance == nil {
Singy.instance = Singy()
}
return Singy.instance!
}
}
Zweitens: von meinem Spielplatz
var s1 = Singy.getSingy()
var s2 = Singy.getSingy()
s1.name = "One"
print(s2.name)
Beide s1
und s2
verweisen auf dieselbe Instanz, die jedoch nur innerhalb der Klasse erstellt wurde