【发布时间】:2023-03-25 09:49:01
【问题描述】:
我想测试 viewDidLoad 和 loadView 之间的区别,所以我创建了一个单视图应用程序,然后将 didFinishLaunchingWithOptions 设置为流:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
viewController = [[MyViewController alloc] init];
// viewController.view.backgroundColor = [UIColor redColor];
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];
return YES;
}
在我的 MyViewController 的 m 文件中是作为流:
#import "MyViewController.h"
@interface MyViewController ()
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"%@",self.view);
self.view.backgroundColor = [UIColor redColor];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)loadView {
self.view = [[UIWebView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
}
@end
但是loadView方法或者viewDidLoad没有被调用,为什么?但是当我在 didFinishLaunchingWithOptions 取消注释时,它们都被调用了。
【问题讨论】:
标签: ios