gpt4 book ai didi

ios - viewDidLoad 不工作(没有 Nib )

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:24:10 25 4
gpt4 key购买 nike

长期以来我一直是这个网站的忠实粉丝,但这是我发布的第一个问题。

我已经阅读了所有与该主题相似的帖子(我认为),但是它们都使用了 NIB 文件。我的项目中没有任何 nib 文件。

这是一个只有一个 View 的简单项目(这意味着一个委托(delegate)类、一个 uiviewcontroller 类和一个 uiview 类),我的 View 显示正常,除了从未调用 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];
}

在 MainViewController.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”中,它永远不会被触发(但显示 View ):

- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"VIEW DID LOAD");
}

最佳答案

如果您没有 nib 文件,您应该实现 loadView 方法。请参阅 Custom View Controllers 中的“以编程方式创建 View ” View Controller 编程指南的部分。如果您不实现此方法,则不会调用 viewDidLoad。

关于ios - viewDidLoad 不工作(没有 Nib ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com