Junior — Middle
Jaké typy dispatchingu nelze upravit pomocí metody Swizzling?
sobes.tech AI
Odpověď od AI
Metoda Swizzling v iOS umožňuje měnit implementace metod za běhu, ale funguje pouze s dynamickým dispatchingem Objective-C. Typy dispatchingu, které nelze modifikovat pomocí Swizzling:
- Statický dispatch (například volání funkcí C nebo C++ bez virtuálních metod).
- Dispatch Swift s použitím staticky rozřešených metod (například final metody nebo metody struktur).
- Volání metod, které nejsou implementovány přes runtime Objective-C (například metody, které nejsou označeny @objc).
Proto je Swizzling použitelný pouze na metody, které procházejí přes runtime Objective-C, a nefunguje s čistě Swift metodami bez @objc.