UITextField и UITextView оба принимают протокол UITextInput.Свойство selectedRange UITextView возвращает NSRange, где UITextField не имеет никаких свойств / методов выбора.Я хотел бы использовать одну подпрограмму для управления вставкой в UITextField или UITextView.
Поэтому я делаю следующее:
id<UITextInput> textInput = nil;
if ([self.aTextView isFirstResponder]) {
textInput = self.aTextView;
} else if ([self.aTextField isFirstResponder]) {
textInput = self.aTextField;
}
if (textInput != nil) {
UITextRange * selectedRange = textInput.selectedTextRange;
// ...
}
Только для быстрого сбоя с «нераспознанным селектором, отправленным на экземпляр»в свойстве selectedTextRange.
Что я делаю не так?
[ПРАВКА: кажется, работает в iOS 5, но вылетает на устройстве в iOS 4. Это изменение в iOS 5?Документы говорят, что протокол составляет 3,2 +.]