En primer lugar, biblioteca impresionante. Fácil de usar y funciona muy bien :) 👍
Ahora, ¿tengo razón? Si quisiera implementar varios campos de texto enmascarados, ¿tendría que agregar un objeto MaskedTextFieldDelegate
para cada uno?
¡Hola @LinusGeffarth!
Gracias por tus amables palabras.
Respondiendo a su pregunta, depende del tipo de datos que tenga en sus campos de texto.
Si tiene varios campos con números de teléfono, puede incorporar un solo objeto MaskedTextFieldDelegate
para todos ellos, ya que las máscaras serán las mismas.
De acuerdo, un objeto delegado para cada máscara.
Por curiosidad: ¿por qué no lo implementaste para que la máscara sea una propiedad del campo de texto y todos los campos de texto compartan el mismo delegado?
¿Por qué no lo implementó para que la máscara sea una propiedad del campo de texto y todos los campos de texto compartan el mismo delegado?
@LinusGeffarth , no llamaría a esto una sabia decisión de diseño.
El campo de texto personalizado interferiría con otros campos de texto personalizados y la jerarquía de herencia general. No podrá utilizar el enmascaramiento con los campos de texto personalizados de otras bibliotecas; o de lo contrario, terminará con todos sus campos de texto con una propiedad de máscara, lo que contradice el sentido común. La misma historia ocurriría con tus UITextView
s, y eso es un fastidio aún mayor.
Usando una navaja de Occam, lo único sobre lo que opera nuestra biblioteca son las alteraciones de texto. Desde este punto de vista, la mejor manera de implementar su funcionalidad es conectarse a la devolución on text changed
llamada
Lo más parecido es un estúpido protocolo UITextFieldDelegate
y la propiedad delegate
; onEditingChanged
eventos UITextView
.
Por lo tanto, es la forma más óptima con la menor cantidad de entidades sintéticas y el menor impacto en el proyecto del usuario.
Los SDK de iOS y macOS ya están mal diseñados, no compliquemos la vida a nuestros colegas desarrolladores. (-:
Si tiene alguna pregunta relacionada, hágala de inmediato; de lo contrario, cierre este hilo.
Tiene sentido, gracias por la elaboración!