
Code
1.初始化AppDelegate的window,此刻window对象存在
2.初始化window的rootViewController,在初始化rootViewController的过程中,通过[UIApplication sharedApplication].keyWindow获取的是keyWindow,而这时window还未设置成keyWindow,的keyWindow还不存在
所以,在初始化 rootViewController 的过程中调用
[UIApplication sharedApplication].keyWindow
获取的window是nil
3.设置window的rootViewController
4.将window设置为keyWindow
[self.window makeKeyAndVisible];//设置window为keyWindow并让window显示在屏幕上
5.此时keyWindow存在,可以调用[UIApplication sharedApplication].keyWindow对window作相关操作