Это может быть хорошим местом для NSNotifications, вы можете зарегистрировать AppController для именованного уведомления, мне даже не важно, какой объект отправляет его, вы PopUpWindow затем можете опубликовать уведомление о том, что что-то изменилось, что ваш AppController может получить уведомление. Другая возможность - если PopUpWindow принадлежит контроллеру AppController, он может иметь AppController в качестве делегата и отправлять сообщение своему делегату. Вы строка кода
[self willChangeValueForKey:@"adventures"];
, кажется, предполагает, что происходит в вашем AppController, но, таким образом, бесполезно, потому что это только скажет наблюдателям о вашем AppController.adventures, что он изменился, и вы хотите, чтобы он работал по-другому, я полагаю, кнопка ввода щелкнув, он отправляет вам сообщение PopUpWindow NSWindowController.