Я большой поклонник этого сайта в течение долгого времени, но это мой первый опубликованный вопрос.
Я прочитал все посты, похожие на тему (я думаю), однако они все используютNIB файлы. У меня нет нигде файлов nib в моем проекте.
Это простой проект с одним представлением (то есть один класс делегата, один класс uiviewcontroller и один класс uiview) и мое представлениеотображается нормально, за исключением того, что метод viewDidLoad никогда не вызывается.
main.m выглядит так:
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, @"MyAppDelegate");
[pool release];
return retVal;
}
MyAppDelegate.m выглядит так:
-(void)applicationDidFinishLaunching:(UIApplication *)application{
UIWindow *localWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window = localWindow;
[localWindow release];
MainViewController *viewController = [[MainViewController alloc] init];
//Option 1
navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
////Option 2
//navigationController = [[UINavigationController alloc] init];
//navigationController.viewControllers = [NSArray arrayWithObject:viewController];
////Option 3
//navigationController = [[UINavigationController alloc] init];
//[navigationController pushViewController:viewController animated:NO];
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
[viewController release];
}
inMainViewController.m
- (id)init {
self = [super init];
if (self) {
self.title = @"Root";
MainView *myView = [[MainView alloc] init];
[myView initWithParentViewController:self];
self.view = myView;
[myView release];
}
return self;
}
Наконец, в «MainViewController.m» это никогда не запускается (но отображается представление):
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"VIEW DID LOAD");
}