Tengo una subclase de UITextView y me gustaría que sea su propio delegado. Para poder anular el método textView:shouldChangeTextInRange:replacementText:
, y evitar el ingreso de espacios consecutivos.UITextView como delegado propio significa bucle infinito
En [SATextView awakeFromNib]
(SATextView es mi subclase de UITextView), hago [self setDelegate:self];
. Cuando presiono sobre la vista de texto para comenzar a editar, todo se congela y finalmente se detiene, y esa traza inversa muestra que ha habido un ciclo infinito.
No importa si implemento todos los métodos de delegado, solo uno o ninguno. Tampoco importa si esos métodos están vacíos.
¿Por qué esto causa un ciclo infinito? Solo parece suceder si con UITextView (otros objetos puede crear una subclase y establecer el delegado en sí mismo, y no tendrá este problema). ¿Y cómo puedo detenerlo? ¿O hay una mejor manera de que esta subclase no tenga espacios consecutivos,
Piénsalo. Difícil. Es posible hacer que una clase sea su propia delegada, pero requiere reflexión. –
@HotLicks Lo he pensado, lo he hecho con otras clases sin problemas? ¿Puede usted ayudar? –
La traza inversa debe mostrarle el bucle en el que se encuentra. –