首页 > 代码库 > 记录一次模仿storyboard的过程

记录一次模仿storyboard的过程

昨天放学,和老师聊天,他说出去以后,很少有项目用storyboard,一般都是纯代码,于是想把之前学过的模仿storyboard的过程复习一下。

首先,我们需要来到AppDelegate.m这个文件中的

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

 这个方法中,写入如下代码

UIWindow* window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];        [window makeKeyAndVisible];        _window = window;        ViewController* controller = [[ViewController alloc]init];        window.rootViewController = controller;        return YES;

 

 需要注意的是:

1、要注意导入ViewController.h文件

2、对于ViewController的操作,在对应的.m文件中进行。不要写到这个方法中。

下面,让我们来说一下这里程序都做了什么

1、声明一个UIWindow对象,这里需要注意的是,一定要给UIWindow对象设置frame,否则,无法显示

2、将窗口设置为主窗口,并显示,同样,如果不这样设置,运行得到的是一片黑

3、将成员变量指向这个创建的对象

4、创建一个controller对象

5、将window的根控制器设置为刚才创建的那个控制器

6、返回

下面让我们在扩展一下:

1、app启动过程:

先执行main.m,这里执行了UIApplicationMain,这里第三个参数指定UIApplication类或子类,如果为nil则默认为UIApplication,第四个为代理类名。这里使用了反射机制来获取类名。之后会加载info.plist文件,然后会判断,是否需要storyborad,如果有,则加载,如果没有,则通过上述的方法进行创建。所以,这里我们不能再创建名字包含info的plist文件

2、UIApplication对于每一个app都只有一个,并且是单例

3、这里我们引用一个MJ的图片,来进行说明一下各个类之间的关系

 

记录一次模仿storyboard的过程