¿Cuáles son los peligros del método Swizzling en el objetivo C?

He escuchado a personas decir que el método swizzling es una práctica peligrosa. Incluso el nombre swizzling sugiere que es un poco tramposo.

Método Swizzling está modificando el mapeo para que el selector de llamadas A invoque la implementación B. Un uso de esto es extender el comportamiento de las clases de código cerrado.

¿Podemos formalizar los riesgos para que cualquiera que decida si usar swizzling pueda tomar una decisión informada sobre si vale la pena por lo que está tratando de hacer?

P.ej

Nombrar colisiones: Si la clase luego extiende su funcionalidad para incluir el nombre del método que ha agregado, causará una gran cantidad de problemas. Reduzca el riesgo al nombrar con sensatez métodos swizzled.

Respuestas a la pregunta(8)

Su respuesta a la pregunta