Je peux voir ces définitions dans la bibliothèque Swift:
extension Bool : BooleanLiteralConvertible {
static func convertFromBooleanLiteral(value: Bool) -> Bool
}
protocol BooleanLiteralConvertible {
typealias BooleanLiteralType
class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
Quelle est la différence entre une fonction membre définie comme static func
et une autre définie comme class func
? Est-ce simplement static
pour les fonctions statiques des structures et des énumérations, ainsi que class
pour les classes et les protocoles? Y a-t-il d'autres différences que l'on devrait connaître? Quelle est la justification de cette distinction dans la syntaxe elle-même?
class func
? Avec les informations dont nous disposons actuellement, cette distinction semble plutôt inutile, non?
class func
s
error: class methods are only allowed within classes; use 'static' to declare a static method