Eliminar (no retroceso) no dispara UITextViewDelegate's shouldChangeTextInRange

Cuando uso un keyboard externo, mi UITextView dispara un post shouldChangeTextInRange justo cuando shouldChangeTextInRange la tecla Retroceso ("borrar hacia atrás"), pero si presiono Eliminar ("borrar hacia adelante"), nunca se shouldChangeTextInRange el método en absoluto, a pesar de la vista text cambiando como se esperaba En caso de que importe, estoy usando Swift y el último simulador de iOS.

Si se trata de un comportamiento esperado, ¿alguien puede apuntarme a la documentation que lo explica?

Más importante aún, ¿hay alguna solución?

Editar: enviado rdar: // 18909378. También descubrí el mismo comportamiento al utilizar cmd + backspace y opt + backspace. ¡Muy molesto!

Todavía veo este problema en iOS 10. La mejor solución que he encontrado es escuchar el evento UIControlEventEditingChanged del campo y tomar textField.text desde allí. Esto le proporciona los contenidos actualizados, pero no le permite evitar la acción de eliminación como shouldChangeCharactersInRange hace shouldChangeCharactersInRange .