Делегировать методы NSTextField, используя NSNotification - PullRequest
3 голосов
/ 12 мая 2009

У меня есть NSTokenField в окне. Я использую его для хранения тегов, связанных с объектом Core Data. Сейчас я настроил его так, что я могу добавлять теги к объектам, но не могу их удалить. Мне нужен метод делегата в NSTokenField, который может сообщить мне, когда пользователь переместил фокус из NSTokenField. Так как NSTokenField является подклассом NSTextField, я подумал, что мог бы использовать его методы делегата. Есть два, которые, я думаю, могут быть полезны:

- (void)textDidChange:(NSNotification *)aNotification
- (void)textDidEndEditing:(NSNotification *)aNotification

Я установил свой класс контроллера как делегат моего NSTokenField и поместил оба эти метода в мой класс контроллера. Я вставил базовый NSLog в каждый из них, и ни один из них не срабатывает, когда я взаимодействую с NSTokenField. Я предполагаю, что это как-то связано с NSNotification. Как мне активировать эти методы?

1 Ответ

8 голосов
/ 12 мая 2009

NSTokenField вызывает уведомления controlTextDidChange: и controlTextDidEndEditing:; измените два метода выше, реализуя их как:

- (void)controlTextDidChange:(NSNotification*)aNotification
{
    //Code here..
}

- (void)controlTextDidEndEditing:(NSNotification *)aNotification
{
    //Code here..
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...