У меня есть приложение для iOS, для которого я хочу создать ViewController программно.
Я запустил пустой проект XCode и изменил метод main так, чтобы он выглядел следующим образом
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate_iPad");
[pool release];
return retVal;
}
приложение является универсальным приложением, MyAppDelegate_iPad
является подклассом MyAppDelegate
, который является подклассом NSObject <UIApplicationDelegate>
.
Моя проблема в том, что метод applicationDidFinishLoading
, который я переопределил в MyAppDelegate_iPad
,никогда не вызывается (точка останова на первой строке никогда не попадет).Метод выглядит следующим образом:
-(void) applicationDidFinishLaunching:(UIApplication *)application {
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if(!window)
{
[self release];
return;
}
window.backgroundColor = [UIColor whiteColor];
rootController = [[MyViewController alloc] init];
[window addSubview:rootController.view];
[window makeKeyAndVisible];
[window layoutSubviews];
}
Я удалил строку для ссылки на файл пера из моего plist-файла (раньше я получал белый экран «Моё универсальное приложение на iPad» по умолчанию), и теперь все, чтоотображается черный экран.applicationDidFinishLoading
все еще не вызывается.
Я что-то не так делаю?Как правильно создать свой экземпляр AppDelegate?