Widzę te definicje w bibliotece Swift:
extension Bool : BooleanLiteralConvertible {
static func convertFromBooleanLiteral(value: Bool) -> Bool
}
protocol BooleanLiteralConvertible {
typealias BooleanLiteralType
class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
Jaka jest różnica między funkcją elementu zdefiniowaną jako static func
a inną funkcją zdefiniowaną jako class func
? Czy to po prostu static
dotyczy statycznych funkcji struktur i wyliczeń oraz class
klas i protokołów? Czy są jakieś inne różnice, o których warto wiedzieć? Jakie jest uzasadnienie takiego rozróżnienia w samej składni?
class func
? Z informacji, które mamy teraz, to rozróżnienie wydaje się raczej bezużyteczne, prawda?
class func
s
error: class methods are only allowed within classes; use 'static' to declare a static method