Avatar ·

Was ist der Unterschied zwischen static und class Funktionen/Eigenschaften in Swift?

Hallo zusammen! Ich lerne Swift und kann den Unterschied zwischen den Schlüsselwörtern `static` und `class` nicht verstehen, wenn wir Funktionen oder Eigenschaften innerhalb einer Klasse deklarieren. In der Dokumentation steht, dass beide sich auf den Typ selbst beziehen, nicht auf die Instanz, aber worin liegt dann der Unterschied?\n\nZum Beispiel habe ich diesen Code:\n\n```swift\nclass MyClass {\n static var staticProperty = "Statische Eigenschaft"\n class var classProperty: String {\n return "Klasseneigenschaft"\n }\n \n static func staticMethod() {\n print("Statische Methode")\n }\n \n class func classMethod() {\n print("Klassenmethode")\n }\n}\n```\n\nIch sehe, dass sowohl `static` als auch `class` es ermöglichen, Methoden aufzurufen, ohne eine Instanz der Klasse zu erstellen: `MyClass.staticMethod()` und `MyClass.classMethod()`. Aber warum existieren dann beide?