Я вижу эти определения в библиотеке 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
для статических функций structs и enums и class
для классов и протоколов? Есть ли другие различия, о которых нужно знать? В чем смысл такого различия в самом синтаксисе?