Junior — Middle
È possibile effettuare una dispatch statica dei metodi in una classe?
sobes.tech AI
Risposta dell'AI
Su iOS (Objective-C e Swift), la dispatch statica dei metodi è possibile per i metodi definiti come statici (metodi di classe in Objective-C o static/ class func in Swift). Questi metodi vengono chiamati direttamente per nome della classe e risolti in fase di compilazione.
A differenza della dispatch dinamica (usata per i metodi di istanza e che permette di scegliere l'implementazione in runtime), la dispatch statica è più veloce, ma meno flessibile.
Esempio in Swift:
class MyClass {
static func staticMethod() {
print("Metodo statico")
}
func instanceMethod() {
print("Metodo di istanza")
}
}
MyClass.staticMethod() // chiamata al metodo statico
let obj = MyClass()
obj.instanceMethod() // chiamata al metodo di istanza
Pertanto, la dispatch statica nelle classi iOS è possibile per i metodi statici.