Junior — Middle
¿Qué tipos de despacho no se pueden modificar mediante el método Swizzling?
sobes.tech AI
Respuesta de la IA
El método Swizzling en iOS permite cambiar las implementaciones de los métodos en tiempo de ejecución, pero solo funciona con la despacho dinámico de Objective-C. Los tipos de despacho que no se pueden modificar mediante Swizzling:
- Despacho estático (por ejemplo, llamadas a funciones C o C++ sin métodos virtuales).
- Despacho de Swift usando métodos resueltos estáticamente (por ejemplo, métodos final o métodos de estructuras).
- Llamadas a métodos que no se implementan a través del runtime de Objective-C (por ejemplo, métodos no marcados con @objc).
Por lo tanto, Swizzling solo se aplica a los métodos que pasan por el runtime de Objective-C y no funciona con métodos puramente de Swift sin @objc.