Я попытался сделать местоположение автозаполнения текстовым классом по подклассу UITextField
и использовать API автозаполнения Google Place. Это отлично работает, но из-за реализации у меня ошибка дизайна. Чтобы наблюдать, когда пользователь вводит текст, я устанавливаю UITextFieldDelegate
в self
в пользовательский подкласс и отслеживает изменения для введенного текста в textView:shouldChangeTextInRange:replacementText:
. Это работает, но вот ошибка дизайна: если кто-то сейчас хочет проверить, что вводится в пользовательский подкласс, установив делегат на что-то новое, делегат моего класса больше не будет привязан к объекту самого класса. Теперь пользовательский класс бесполезен. Есть ли способ получить текст, поскольку он вводится без делегата, не позволяет делегату быть измененным или каким-либо другим способом исправить мою проблему?Получить текст UITextView без делегата
Несколько вариантов у меня есть, хотя о том, что могло бы работать, но в плохом смысле:
- контролируйте то, что
text
свойства: Должно быть понятно, почему занято ожидание глупой идеи - Override делегировать и установить его в приватное: не уверен, что это будет работать, но если это так, класс больше не является надлежащим подклассом UITextField, и все методы делегата недоступны при реализации моего подкласса.
- Обеспечить новый делегат для дальнейшего использования делегата: Позволяет кто-то, чтобы получить то же самое, как
UITextFieldDelegate
обеспечивает, но до сих пор путает документации и надлежащее выполнениеUITextField