Sobes.tech
Junior — Middle

Que tipos de despacho não podem ser modificados através do método Swizzling?

sobes.tech IA

Resposta da IA

O método Swizzling no iOS permite alterar as implementações de métodos em tempo de execução, mas funciona apenas com a despacho dinâmica do Objective-C. Tipos de despacho que não podem ser modificados através do Swizzling:

  • Despacho estático (por exemplo, chamadas de funções C ou C++ sem métodos virtuais).
  • Despacho Swift usando métodos resolvidos estaticamente (por exemplo, métodos finais ou métodos de estruturas).
  • Chamadas de métodos que não são implementadas através do runtime do Objective-C (por exemplo, métodos não marcados com @objc).

Assim, o Swizzling aplica-se apenas a métodos que passam pelo runtime do Objective-C e não funciona com métodos puramente Swift sem @objc.