There are two ways to access a static property/method from a non-static property/method:
-
As stated in your question, you can prefix the property/method name with that of the type:
class MyClass { static let staticProperty = 0 func method() { print(MyClass.staticProperty) } } -
Swift 2: You can use
dynamicType:class MyClass { static let staticProperty = 0 func method() { print(self.dynamicType.staticProperty) } }Swift 3: You can use
type(of:)(thanks @Sea Coast of Tibet):class MyClass { static let staticProperty = 0 func method() { print(type(of: self).staticProperty) } }
If you’re inside a static property/method you do not need to prefix the static property/method with anything:
class MyClass {
static let staticProperty = 0
static func staticMethod() {
print(staticProperty)
}
}