Ich kann diese Definitionen in der Swift-Bibliothek sehen:
extension Bool : BooleanLiteralConvertible {
static func convertFromBooleanLiteral(value: Bool) -> Bool
}
protocol BooleanLiteralConvertible {
typealias BooleanLiteralType
class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
Was ist der Unterschied zwischen einer als definierten Elementfunktion static func
und einer als definierten Elementfunktion class func
? Ist es einfach static
für statische Funktionen von Strukturen und Aufzählungen sowie class
für Klassen und Protokolle? Gibt es noch andere Unterschiede, die man kennen sollte? Was ist der Grund für diese Unterscheidung in der Syntax selbst?
class func
? Mit den Informationen, die wir jetzt haben, scheint diese Unterscheidung ziemlich nutzlos zu sein, nicht wahr?
class func
s
error: class methods are only allowed within classes; use 'static' to declare a static method