Я можу побачити такі визначення у бібліотеці 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 funcs
error: class methods are only allowed within classes; use 'static' to declare a static method

