Перезагрузка NSTableView на перефокус - PullRequest
1 голос
/ 16 мая 2011

В моем приложении у меня есть NSWindow, у которого есть NSTableView объект и несколько кнопок.Когда пользователь нажимает кнопку «новая», активируется «ItemAdd» NSWindowController, когда пользователь вводит атрибуты для элемента, который будет добавлен к NSTableView.

У меня такой вопрос: поскольку NSTableView требует reloadData для обновления своего представления, как мне вызвать reloadData после закрытия окна ItemAdd и смещения фокуса обратно на NSWindow с помощью NSTableView.

Спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Вы можете поместить данные перезагрузки в обработчик уведомлений:

Поместите это в метод инициализации объекта, для которого вы хотите, чтобы уведомление вызывалось:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didBecomeMainWindow) name:@"NSWindowDidBecomeKeyNotification" object:nil];

Затем создайтеметод примерно так:

- (void) didBecomeMainWindow
{
    [tableView reloadData];
}
0 голосов
/ 11 июня 2013

Вы можете создать подкласс NSWindow и переопределить следующий метод: - (void) становится KeyWindow

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...