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.