美文网首页
控制器管理

控制器管理

作者: JaneJie | 来源:发表于2015-07-10 21:00 被阅读27次

    如何创建一个控制器

    • 控制器常见的创建方式有以下几种
      • 通过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方法

    相关文章

      网友评论

          本文标题:控制器管理

          本文链接:https://www.haomeiwen.com/subject/pnwyqttx.html