控制器管理

如何創建一個控制器

  • 控制器常見的創建方式有以下幾種
    • 通過storyboard創建
      • 先加載storyboard文件(Test是storyboard的文件名)

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Test" bundle:nil]
```
- 接著初始化storyboard中的控制器

//初始化“初始控制器”(箭頭所指的控制器)
JJViewController *vc = [storyboard instantiateInitialViewController];
//通過一個標識初始化對應的控制器
JJViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@”jj"
- 直接創建
UIViewController *mj = [[UIViewController alloc] init];
- 指定xib文件來創建
JJViewController *vc = [[JJViewController alloc] initWithNibName:@"JJViewController" bundle:nil];

JJViewController的view的創建

98F18118-44D8-4FAF-A7C3-AA89011285D0.png
  • 如果有實現loadView,根據loadView的代碼實現
  • 如果info.plist有指定storyboard或者創建時有指定storyboard創建,根據storyboard的描述去創建。
  • 如果指定了nibName,則根據nibName對應的xib的描述去創建
  • 如果沒指定nibName,先查找JJView.xib,根據對應的xib創建
  • 如果沒有沒有JJView.xib,會查找JJViewController.xib,根據對應的xib創建
  • 如果沒有JJViewController.xib則會創建一個空的View

控制器view的延遲加載

  • 控制器的view是延遲加載的:用到時再加載
  • 可以用isViewLoaded方法判斷一個UIViewController的view是否已經被加載
  • 控制器的view加載完畢就會調用viewDidLoad方法
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 控制器及View的多種創建方式 創建控制器的3種方式?直接通過alloc + init的方式創建。創建一個“Sin...
    冷漠叻葒顏閱讀 1,086評論 0 2
  • 內容概要: 一、Application(應用程序管理) 二、加載自定義控制器 三、3種創建控制器的方式 四、UIN...
    外號狐貍閱讀 906評論 0 0
  • 一、創建一個控制器的方法 1.通過storyboard創建 2.直接創建 3.指定xib文件來創建 4.控制器vi...
    阿凡提說AI閱讀 431評論 0 0
  • 聽到祖母病重,我心里一愣,放下了手里所有的活,匆匆回趕,生怕留下人生中又一個遺憾。回去那天,天上瓢潑大雨,轉了幾次...
    青山若夫閱讀 5,288評論 76 115
  • 又一年教育實習總結會。像往年一樣學生和部分請來的老師激動,負責的老師全身心投入,希望辦得圓滿難忘。但對于年年參...
    fieldsky閱讀 113評論 0 0