Просто проверьте, к какому действию подключен пункт меню «Открыть» в Интерфейсном Разработчике.Если я правильно помню, он будет связан с объектом «Первый ответчик» и методом open:
.Это правильно?
В этом случае просто реализуйте метод open:
в своем классе AppDelegate.(Чтобы понять, почему метод переходит к делегату, прочитайте о «действиях с нулевым таргетингом» в книге Хиллегаса или здесь: http://www.cocoadev.com/index.pl?NilTargetedAction. Следует помнить, что элемент управления, подключенный к «Первому ответчику» в IB,на самом деле способ IB - указать, что целью является ноль.)
Обратите внимание, что вам придется реализовать открытую панель самостоятельно, используя NSOpenPanel - см. пример кода здесь: NSOpenPanel setAllowedFileTypes
Если это то же самое, что вы делаете в openFile:withApplication:
, вы, вероятно, захотите создать общий закрытый метод и вызвать этот метод как из openFile:withApplication:
, так и open:
.