2010-01-21 2 views
1

У меня есть приложение с NSToolbar в главном окне. В зависимости от того, какой значок нажат, в этом окне отображается NSView. Моя проблема заключается в том, что одно из этих представлений показывает данные в NSTableView, которые я хочу перезагружать каждый раз, когда вид виден. Поскольку -init вызывается только один раз, я не знаю, как это сделать. (пример: при запуске приложения он отображает раздел «Документы» [под надзорами окна]. Теперь, когда я нажимаю «Сотрудники» [который отображает другой под просмотр, а не первый), а затем снова «Документы», я хочу данные в NSTableView документов для перезагрузки.)Как проверить, отображается ли NSView в данный момент?

Как это сделать?

Заранее спасибо.

ответ

1

У меня есть приложение с NSToolbar в главном окне. В зависимости от того, какой значок нажат, в этом окне отображается NSView.

Используйте вкладку. Вы можете скрыть вкладки, а затем реализовать свои методы действий для элементов панели инструментов, чтобы они выступали в качестве вкладок, изменяя выбранный элемент отображения табуляции в зависимости от того, какой из них соответствует заданному элементу панели инструментов.

Теперь, когда я нажимаю на Employees [который отображает другой под просмотр вместо первого], а затем снова в документах, я хочу, чтобы данные в NSTableView документов перезагружались.

Почему? Почему бы не перезагрузить его только при изменении данных?

Вам не нужно держать руку NSTableView; если вам нужны данные от вас снова, он снова попросит вас об этом.

И если вы обеспокоены перезагрузкой данных, в то время как представление не видно, это преждевременная оптимизация. Не беспокойтесь об этом, пока не докажете через профилирование, что это настоящая проблема с производительностью.

+0

Да, и вообще NSTableView очень хорош в том, что он не освежает, когда он невидим. –

Смежные вопросы