Файл AppDelegate отсутствует в Xcode 3.1? - PullRequest
1 голос
/ 16 января 2010

В настоящее время я начинаю изучать Xcode и target-c, и сейчас читаю три разные книги на эту тему. Все эти книги ссылаются на файл «AppDelegate» (My_First_ProjectAppDelegate.m, My_First_ProjectAppDelegate.h), который, как говорят, «создан с проектом» (я создаю «приложение какао»). Эти файлы отсутствуют, когда я создаю новый проект. Кажется, я не единственный, у кого есть эта проблема (см. http://pragprog.com/titles/dscpq/errata).

Есть ли еще информация о AppDelegate? Какова текущая практика о том, как бороться с отсутствующим Appdelegate? я использую версию Xcode 3.1.4 на Mac OSX Leopard.

Ответы [ 3 ]

13 голосов
/ 16 января 2010

AppDelegate - это не более чем обычный класс NSObject с необходимыми соединениями в MainMenu.xib. Вы можете легко восстановить свой собственный:

  1. Создайте класс, назовите его AppDelegate
  2. Откройте MainMenu.xib и добавьте объект NSObject в палитру объектов
  3. На вкладке «Удостоверение» инспектора объектов (последней) установите для класса объекта значение AppDelegate (вы должны получить автозаполнение)
  4. Ctrl + перетаскивание из объекта Application в только что созданный объект AppDelegate и выбор «делегата» на открытой панели.
2 голосов
/ 18 января 2010

Я думаю, что путаница связана с версией XCode, которую вы используете.

Xcode версии 3.2 изменил поведение по умолчанию при создании нового проекта: теперь он создает AppDelegate для вашего проекта. Я не могу вспомнить, что делали более ранние версии, но все было иначе.

Как говорит Eimantas, если вы хотите использовать AppDelegate, вы можете просто создать его, следуя описанным им шагам.

2 голосов
/ 16 января 2010

Насколько я помню, только шаблоны iPhone предоставляли классы делегатов по умолчанию. Это не большое дело, но я вижу, как вы будете обеспокоены, если вы только учитесь. Вы уверены, что то, что вы читаете, относится к приложениям MacOS, а не к Iphone?

Вы всегда можете создать свой собственный класс делегата вручную. Вы просто создаете класс, как обычно, а затем устанавливаете его как делегат для NSApplication в Интерфейсном Разработчике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...