控制器管理

如何创建一个控制器

  • 控制器常见的创建方式有以下几种
    • 通过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,074评论 0 2
  • 内容概要: 一、Application(应用程序管理) 二、加载自定义控制器 三、3种创建控制器的方式 四、UIN...
    外号狐狸阅读 906评论 0 0
  • 一、创建一个控制器的方法 1.通过storyboard创建 2.直接创建 3.指定xib文件来创建 4.控制器vi...
    阿凡提说AI阅读 426评论 0 0
  • 听到祖母病重,我心里一愣,放下了手里所有的活,匆匆回赶,生怕留下人生中又一个遗憾。回去那天,天上瓢泼大雨,转了几次...
    青山若夫阅读 5,282评论 76 115
  • 又一年教育实习总结会。像往年一样学生和部分请来的老师激动,负责的老师全身心投入,希望办得圆满难忘。但对于年年参...
    fieldsky阅读 113评论 0 0