Vedo queste definizioni nella libreria Swift:
extension Bool : BooleanLiteralConvertible {
static func convertFromBooleanLiteral(value: Bool) -> Bool
}
protocol BooleanLiteralConvertible {
typealias BooleanLiteralType
class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
Qual è la differenza tra una funzione membro definita come static func
e un'altra definita come class func
? È semplicemente static
per funzioni statiche di strutture ed enumerazioni e class
per classi e protocolli? Ci sono altre differenze che dovresti conoscere? Qual è la logica per avere questa distinzione nella sintassi stessa?
class func
? Con le informazioni che abbiamo ora, questa distinzione sembra piuttosto inutile, no?
class func
s
error: class methods are only allowed within classes; use 'static' to declare a static method