Мой оригинальный ответ (который обычно решает большинство проблем такого рода)
Поворот ВЫКЛ. флажок «Выпуск при закрытии» для этого окна в Интерфейсном Разработчикеи с тобой все будет в порядке.
Мой ответ № 2)
Поместите эту [prefController showWindow:self];
строку ВНЕ контекста if (!prefController)
(т. е. так, что showWindow
вызывается каждый раз, когда вызывается openPreferences
).
Или, чтобы быть более понятным:
-(IBAction)openPreferences:(id)sender
{
if (!prefController) {
prefController = [[PreferencesController alloc] initWithWindowNibName:@"Preferences"];
}
[prefController showWindow:self];
}