Sobes.tech
Junior — Middle

Lze v třídě provádět statickou dispatch metod?

sobes.tech AI

Odpověď od AI

V iOS (Objective-C a Swift) je možné statické směrování metod pro metody, které jsou definovány jako statické (třídyové metody v Objective-C nebo static/ class func ve Swift). Tyto metody jsou volány přímo podle názvu třídy a jsou řešeny v době kompilace.

Na rozdíl od dynamického směrování (které se používá pro instance metody a umožňuje vybírat implementaci za běhu), je statické směrování rychlejší, ale méně flexibilní.

Příklad ve Swift:

class MyClass {
    static func staticMethod() {
        print("Statická metoda")
    }

    func instanceMethod() {
        print("Instance metoda")
    }
}

MyClass.staticMethod() // volání statické metody
let obj = MyClass()
obj.instanceMethod()   // volání instance metody

Tímto způsobem je ve třídách iOS možné statické směrování pro statické metody.