Junior — Middle
Jakie rodzaje dispatchingu nie podlegają modyfikacji za pomocą metody Swizzling?
sobes.tech AI
Odpowiedź od AI
Metoda Swizzling w iOS pozwala na zmianę implementacji metod w czasie działania, ale działa tylko z dynamicznym dispatchem Objective-C. Rodzaje dispatchu, które nie podlegają modyfikacji przez Swizzling:
- Dispatch statyczny (np. wywołania funkcji C lub C++ bez metod wirtualnych).
- Dispatch Swift z użyciem statycznie rozstrzyganych metod (np. metody finalne lub metody struktur).
- Wywołania metod, które nie są implementowane przez runtime Objective-C (np. metody nie oznaczone @objc).
W związku z tym, Swizzling jest stosowalny tylko do metod, które przechodzą przez runtime Objective-C, i nie działa z czysto Swiftowymi metodami bez @objc.