# 控制器的LoadView方法
- 什么時候調(diào)用?
- 第一次使用控制器的view的時候,會加載控制器的view,比如默認(rèn)的解析Info.Plist文件后創(chuàng)建rootcontroller后,如果使用view 即會加載. 默認(rèn)是屏幕尺寸.
- 如果LoadView方法里寫[super loadView]系統(tǒng)會自動尋找有沒有指定,storyboard,如果有就會去加? 載storyboard去加載view
- 重寫LoadView方法
- 1 !不要調(diào)用[super LoadView]
- 2 在loadView方法中,如果沒有給控制器的view賦值,就不能獲取控制器的view,否則會導(dǎo)致死循環(huán)
#View的延遲加載
控制器的view延遲加載:只能用于UIViewController或者他子類
控制器的view是第一次使用的時候才去加載.
所以執(zhí)行順序是.
第一次用到控制器的view---->LoadView---->ViewDidLoad--->如果第一次調(diào)用時設(shè)置了view的相關(guān)屬性,則再調(diào)回到第一步.
# 通過XIB創(chuàng)建控制器
##為什么要通過xib或者storyboard創(chuàng)建控制器?
-? 因為xib和sb能描述控制器的view,可以解決他的內(nèi)容固定問題
- 我們知道在程序進入applicationMain函數(shù)后,會創(chuàng)建Application對象,它的代理,并生成一個控制器,并且加載它的view.所以這里 去掉Info.plist中的maininterface來創(chuàng)建控制器.
# 創(chuàng)建控制器

- 1. 1 先創(chuàng)建xib 并拖入一個view用來描述控制器的view

- 1.2? 創(chuàng)建控制器并連線view

**? 注意設(shè)置Xib所屬控制器類型
**

- 2.創(chuàng)建控制器,同時選擇create XIB file 會生成一個和控制器名字相同的xib用來描述控制器,同時內(nèi)部已經(jīng)完成view的連線


#通過storyboard加載控制器
- 用到UIStoryboard 初始化方法和它的對象方法

然后可以調(diào)用
```objc
[self.window makeKeyAndvisible];
```
讓window顯示,控制器的view也會顯示在window上.