Я вижу эти определения в библиотеке Swift:
extension Bool : BooleanLiteralConvertible {
static func convertFromBooleanLiteral(value: Bool) -> Bool
}
protocol BooleanLiteralConvertible {
typealias BooleanLiteralType
class func convertFromBooleanLiteral(value: BooleanLiteralType) -> Self
}
В чем разница между функцией-членом, определенной static func
и другой, как class func
? Это просто static
для статических функций структур и перечислений, а также class
для классов и протоколов? Есть ли другие отличия, о которых нужно знать? В чем смысл такого различия в самом синтаксисе?
class func
? С информацией, которой мы располагаем сейчас, это различие кажется довольно бесполезным, не так ли?
class func
s
error: class methods are only allowed within classes; use 'static' to declare a static method