Что вам нужно сделать, это переопределить - [NSDocumentController newDocument:]
. NSDocumentController
является частью цепочки респондента и является объектом, который в конечном итоге обрабатывает отправляемое им сообщение newDocument:
.
Оттуда вы можете показать любой диалог, который вам нравится, и затем вызвать makeUntitledDocumentOfType:error:
, addDocument:
, makeWindowControllers
и showWindows
. Это то, что openUntitledDocumentAndDisplay:error:
делает.
Но загвоздка в том, что NSDocumentController
является синглтоном, поэтому вам нужно убедиться, что создается ваш подкласс, а не Apple. Как правило, вы делаете это, добавляя объект вашего подкласса в MainMenu.xib или любой другой NIB, загружаемый первым. Обычно этого достаточно, чтобы убедиться, что ваш подкласс создается первым и становится синглтоном.