Мне очень любопытно - почему UITextInputDelegate требует все свои методы? Почему я не могу просто реализовать тот, который хочу (например, textDidChange)?
UITextInputDelegate
textDidChange
Это может быть вещь производительности. Эти методы вызываются часто, и это довольно большой удар по производительности - отправлять -respondsToSelector: каждый раз, когда что-то меняется.
-respondsToSelector:
Разве вы не можете просто создать пустые функции для трех ненужных вам методов?
Мне кажется, что какой-то яблочный инженер слишком ленив, чтобы правильно запрограммировать вызовы делегатов. Поэтому он просто не установил @optional, поэтому ему не приходится иметь дело с методами, которые, вероятно, не существуют.