Уведомление о закрытии/скрытии/изменении вкладки Cocoa

есть ли способ определить, когда окно какао было закрыто, скрыто и/или пользователь изменил вкладку, на которой он был раньше?


person Kevin    schedule 22.03.2012    source источник


Ответы (1)


вы можете использовать уведомления для передачи такой информации в ваше приложение:

Справочник по классу NSNotificationCenter

Вы можете найти полезную информацию и примеры в подкастах iTunes U Брэда Ларсона.

вот этот тоже неплохой учебник: http://cocoawithlove.com/2008/06/five-appreaches-to-listening-observing.html

пример абсолютного базового руководства можно найти здесь: http://agilewarrior.wordpress.com/2012/02/09/dead-simple-nsnotification-example-iphone/

person Sebastian Flückiger    schedule 22.03.2012
comment
Итак, используя уведомление, я могу указать «событие» (т.е. окно скрыто/окно закрыто/и т. д.)? Я посмотрю документацию по NSNotification и посмотрю подкаст iTunes U. - person Kevin; 22.03.2012
comment
вы можете создать центр уведомлений, пусть ваши классы «слушают» уведомления этого центра. в вашем коде вы сможете транслировать уведомление в центр, и «слушатели» смогут на него отреагировать =) - person Sebastian Flückiger; 22.03.2012
comment
я добавил еще одну ссылку в свой ответ - отличный учебник и пример уведомлений =) - person Sebastian Flückiger; 22.03.2012
comment
Спасибо! Отмечено как ответ (когда сайт позволяет это сделать :)! - person Kevin; 22.03.2012
comment
Спасибо за все ресурсы Себастьян. Однако я до сих пор не могу понять, как я могу вызвать наблюдателя, когда происходит одно из вышеуказанных действий. Как я могу узнать, что окно закрыто/спрятано или имеет вкладку? - person Kevin; 27.03.2012
comment
Что касается закрытия окна, я нашел уведомление NSWindowWillCloseNotification, которое, кажется, помогает. Любая другая помощь относительно других двух действий? Спасибо! - person Kevin; 27.03.2012
comment
NSWindowDidResignKeyNotification помогает свернуть окно... Однако при переходе с вкладки на вкладку я все еще нахожу некоторые проблемы... - person Kevin; 27.03.2012