Возможно ли в Swift вызвать метод / атрибут static
(или class
) без записи имени класса (из метода экземпляра)?
class Foo {
class func someValue() -> Int {
return 1337
}
func printValue() {
print(Foo.someValue())
print(type(of: self).someValue())
print(Self.someValue()) // error: use of unresolved identifier 'Self'
}
}
Пока что яя нашел обходной путь с протоколом / typealias:
protocol _Static {
typealias Static = Self
}
class Foo: _Static {
class func someValue() -> Int {
return 1337
}
func printValue() {
print(Static.someValue()) // 1337
}
}
, но мне было интересно, есть ли лучший способ сделать это?