通过Xib加载控制器原理

init底层会调用initWithNibName

  • 加载XMGViewController:
    • 会判断一下initWithNibName传入的参数有没有值,如果没有值,就会做以下几步
      • 1.寻找有没有XMGViewController.xib,有,句直接帮你加载
      • 2.寻找有没有XMGView.xib,如果有,就直接加载
      • 3.创建一个空的view

通过Xib加载控制器进行的步骤:

    //initWithNibName:如果指定了名称,加载指定名称的xib
    //如果没有名称的话,为nil,那么它会先加载跟它相同名称的xib.
    //如果没有跟它相同名称的xib,那么它会自动加载它相同名称去掉controller的xib.
    //XMGViewController *VC =  [[XMGViewController alloc] initWithNibName:nil bundle:nil];
    XMGViewController *vc = [[XMGViewController alloc] init];
    //init底层会自动调用initWithNibName:nil

你可能感兴趣的:(通过Xib加载控制器原理)