Для iOS я использовал UIViewController viewWillAppear и viewWillDisappear, чтобы подключить и отсоединить слушателей от модели контроллера. Таким образом, контроллер не выполняет никакой работы, если его представление не отображается, и может убедиться, что все синхронизировано при отображении представления.
Я бы хотел сделать то же самое для Mac, но не вижу способа, чтобы NSViewController получал уведомление о добавлении или удалении своего вида с дисплея. Должен ли я просто создать подкласс NSViewController, добавить методы уведомлений, и кто-нибудь, кто добавляет / удаляет представления, вызывает эти методы?