Sobes.tech
Junior — Middle

Koje vrste dispatchinga se ne mogu modifikovati putem metode Swizzling?

sobes.tech АИ

Одговор од АИ

Метод Swizzling у iOS омогућава промену имплементација метода у току извршавања, али ради само са динамичким дистрибуцијом (dispatch) Objective-C. Типови дистрибуције који се не могу модификовати преко Swizzling:

  • Статичка дистрибуција (на пример, позиви C или C++ функција без виртуелних метода).
  • Swift дистрибуција коришћењем статички решених метода (на пример, финалне методе или методе структура).
  • Позиви метода који нису реализовани преко runtime-а Objective-C (на пример, методи који нису обележени са @objc).

Стога, Swizzling важи само за методе које пролазе кроз runtime Objective-C и не ради са чисто Swift методама без @objc.