Controller的三种创建方式

一、通过storyboard创建控制器 Test.storyboard前名是文件名,后面的storyboard是文件的扩展名 // 1. 应用程序启动完成,会调用此方法,启动之后,将不再调用此方法!
// 如果因为内存等原因,应用程序被操作系统干掉,再次点击图标,会调用此方法!
- ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
{
// 实例化 UIWindow ,特殊的 UIView
self . window = [[ UIWindow alloc ] initWithFrame :[ UIScreen mainScreen ]. bounds ];
// 设置窗口的背景颜色
self . window . backgroundColor = [ UIColor whiteColor ];
1、 先加载 storyboard 文件( Test 是 storyboard 的文件名)注意点在storyboard 里面Class 要指向要创建的控件器类名
UIStoryboard *storyboard = [ UIStoryboard storyboardWithName : @"Test" bundle : nil ] ; //bundle 传nil 默认就是main bundle
2、 接着初始化 storyboard 中的控制器 方法1、 初始化“初始控制器”(storyboard中箭头所指的控制器)<通过加载storyboard文件来创建控制器的视图> 即视图控制器 MJViewController * mj = [ storyboard instantiateInitialViewController ];

方法2、 通过一个标识初始化对应的控制器 MJViewController * mj = [ storyboard instantiateViewControllerWithIdentifier : @”pink ”];
【Controller的三种创建方式】
添加标识符
//把视图控件器添加到window窗口的根视图上
self . window . rootViewController = ; mj

// 让窗口变成主窗口并且可见
[ self . window makeKeyAndVisible ];

return YES ;
}

二、通过纯代码创建 控制器 // 1. 应用程序启动完成,会调用此方法,启动之后,将不再调用此方法!
// 如果因为内存等原因,应用程序被操作系统干掉,再次点击图标,会调用此方法!
- ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
{
// 实例化 UIWindow ,特殊的 UIView
self . window = [[ UIWindow alloc ] initWithFrame :[ UIScreen mainScreen ]. bounds ];
// 设置窗口的背景颜色
self . window . backgroundColor = [ UIColor whiteColor ];

// 实例化视图控制器
CZViewController *mj = [[ CZViewController alloc ] init ];

// 将视图控制器的视图添加到窗口,这句话,已经不用了
//[self.window addSubview:vc.view]; //把视图控件器添加到window窗口的根视图上
self . window . rootViewController = mj;

// 让窗口变成主窗口并且可见
[ self . window makeKeyAndVisible ];

return YES ;
}

二、指定xib文件来创建控制器
// 1. 应用程序启动完成,会调用此方法,启动之后,将不再调用此方法!
// 如果因为内存等原因,应用程序被操作系统干掉,再次点击图标,会调用此方法!
- ( BOOL )application:( UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions
{
// 实例化 UIWindow ,特殊的 UIView
self . window = [[ UIWindow alloc ] initWithFrame :[ UIScreen mainScreen ]. bounds ];
// 设置窗口的背景颜色
self . window . backgroundColor = [ UIColor whiteColor ];
// 加载指定的xib文件
MJThreeViewController * mj = [ [ MJThreeViewController alloc ] initWithNibName : @"MJView" bundle : nil ] ;

//把视图控件器添加到window窗口的根视图上
self . window . rootViewController = mj;

// 让窗口变成主窗口并且可见
[ self . window makeKeyAndVisible ];

return YES ; 用xib创建时的注意点
} 用那个view把那个view连线设为主文件

    推荐阅读