#cocoa #interface-builder
#cocoa #конструктор интерфейса
Вопрос:
Есть ли способ получать уведомления при изменении NSTextView?. В NSTextField я просто установил цель для отправляемого действия по умолчанию и работает отлично, но я не вижу никаких отправленных действий в NSTextView.
Комментарии:
1. Я не думаю, что для этого есть метод делегирования, не могли бы вы просто продолжить опрос и сравнить значения?
2. Я думаю, вы правы, позвольте m проверить
3. Я не смог найти какой-либо метод делегирования, который сообщит мне об изменении
4. Это то, о чем я говорил, чтобы вы могли опрашивать его с вашим собственным интервалом в цикле (в другом потоке!) и создать свою собственную систему псевдо-уведомлений.
Ответ №1:
NSTextView наследуется от NSText, который соответствует протоколу NSTextDelegate. Посмотрите это в документах. Метод, который вы ищете, это: - (void)textDidChange:(NSNotification *)aNotification
который вы можете либо реализовать в делегате вашего TextView, либо получить, зарегистрировавшись для получения уведомления «NSTextDidChangeNotification».
Ответ №2:
Создайте подкласс NSTextField и переопределите имеющийся у него метод textDidChange.
Делегат сообщит вам, когда он начнет редактирование и когда завершит редактирование. Но сам элемент управления получает метод textDidChange, вызываемый для самого себя.
Создайте его подкласс и переопределите метод
- (void)textDidChange:(NSNotification *)notification;
затем вы могли бы установить флаг, к которому вы можете получить доступ извне.