一.对于ViewController的加载
Init加载ViewController:
代码创建的ViewController:
ViewControllerWith *vc = [[ViewControllerWith alloc]init];
在这个加载过程中 相关方法调用顺序是:
init
initWithNibName:bundle:
loadView
viewDidLoad
XIB加载ViewController:
当command+N创建ViewController的时候勾选了Also create XIB file ,系统就会帮我们创建与ViewController同名的XIB文件
对于这种控制器,常用的创建方式是:
ViewControllerWithXib *vc = [[ViewControllerWithXib alloc]initWithNibName:@"ViewControllerWithXib" bundle:nil];
在这个加载过程中 相关方法调用顺序是:
initWithNibName:bundle:
loadView
viewDidLoad
当然, 你也可以以下这种方式创建带有XIB的ViewController
ViewControllerWithXib *vc = [[ViewControllerWithXib alloc]init];
这样也能加载出你在xib里面创建的view
前提是你的控制器不能重写loadView方法
因为用这种方式创建 系统会调用loadVIew帮你寻找和类同名的XIB文件加载
你若是重写了loadVIew,那么控制器就是漆黑一片
这种方式和代码创建方式时,函数调用顺序一致
StoryBoard中加载ViewController:
在StoryBoard中构建好自己的控制器用以下代码初始化:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];