2012-04-28 2 views
0

Я только что узнал, что мой applicationDidFinishLaunching не запускался. Выполняя поиск здесь, мне кажется, мне нужно установить AppDelegate как delegate моего главного окна.Как подключить AppDelegate в XCode 4.3?

Ответы здесь объясняют, как это сделать в IB с main.xib. Я на Xcode 4.3.2 с помощью раскадровки. Как мне сделать то же самое в раскадровке?

Спасибо.

+0

То же самое в Xcode 3.2 или 5.1 или 4.2. Xcode - это только IDE, а не язык :) –

ответ

3

Нет. Вы не назначаете делегат приложения в качестве делегата основного окна, а общий экземпляр UIApplication (в другом случае он будет называться делегатом окна). Вам лучше изменить свою функцию main(); звоните

int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegateClass"); 

вместо значения по умолчанию

int retVal = UIApplicationMain(argc, argv, nil, nil); 

вызова.

Также обратите внимание, что applicationDidFinishLaunching устарел. Вам может потребоваться переход на новый

application:didFinishWithLaunching: 

Метод делегата.

+0

Спасибо за разъяснение. В настоящее время мой main.m читает 'return UIApplicationMain (argc, argv, nil, NSStringFromClass ([SMAppDelegate class])) ;, который фактически был значением по умолчанию при создании проекта. Я до сих пор не вижу, как запускается приложение applicationDidFinishLaunching. – Steven

+0

Ну, это странно. Он должен работать! –

+1

Результаты тестов .. Я создал новый простой проект и обнаружил, что 'applicationDidFinishLaunching' вообще не существует. Я перевел свой «NSLog» в «приложение: didFinishLaunchingWithOptions», и все работает как ожидается. Может быть, это было глупое редактирование, которое я сделал или что-то такое .. спасибо. – Steven