Junior — Middle
Je možné vykonávať statickú dispatch metód v triede?
sobes.tech AI
Odpoveď od AI
V iOS (Objective-C a Swift) je možné statické smerovanie metód pre metódy, ktoré sú definované ako statické (class methods v Objective-C alebo static/ class func v Swift). Takéto metódy sa volajú priamo podľa názvu triedy a sú vyriešené v čase kompilácie.
Na rozdiel od dynamického smerovania (ktoré sa používa pre inštančné metódy a umožňuje výber implementácie počas behu), je statické smerovanie rýchlejšie, ale menej flexibilné.
Príklad v Swift:
class MyClass {
static func staticMethod() {
print("Statická metóda")
}
func instanceMethod() {
print("Inštančná metóda")
}
}
MyClass.staticMethod() // volanie statickej metódy
let obj = MyClass()
obj.instanceMethod() // volanie inštančnej metódy
Takže, v iOS triedach je možné statické smerovanie pre statické metódy.