Мое приложение основано на документе, но «документ» состоит из двух папок, а не одного файла. Начальное окно документа содержит пару сборщиков файлов и кнопку; действие закрывает это окно и открывает новый, показывающий результаты операции между двумя иерархиями папок. (Эти два окна существенно отличаются по размеру, сохраняя оба вида в табулированном табулине, и переключение с ним было бы нетривиальным.)Закрытие окна документа и открытие нового, без закрытия документа
Вот код моего метода действий, который закрывает окно выбора файлов и открывает результаты окно:
[self retain];
NSArray *existingWindowControllers = [[[self windowControllers] copy] autorelease];
for (NSWindowController *windowController in existingWindowControllers) {
[windowController setShouldCloseDocument:NO];
[windowController close];
[self removeWindowController:windowController];
}
[self addWindowController:[[[NSWindowController alloc] initWithWindowNibName:@"ProjectFoldersDocument" owner:self] autorelease]];
[self showWindows];
[self release];
(я добавил сохранить и освободить сообщения в неудачной попытке решить эту проблему.)
Моя проблема заключается в том, что документ освобождается и высвобождены после этого метод действия заканчивается, несмотря на мое рассказывая начальный оконный контроллер не закрывает документ. (Это была другая неудачная попытка решить проблему.)
Итак, как я могу заменить первое окно другим, для того же документа, без отмирания документа?