iOS 视图控制器初始化方法调用(/重写方法)


不使用storyboard的时候会调用:

  1. init

  2. initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

代码:
-(instancetype)init{
    if (self = [super init]) {
    }
    return self;
}

-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
    }
    return self;
}

小知识:
同时调用时,先走 initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 然后再走 init 方法


使用storyboard的时候会调用:

  1. initWithCoder:(NSCoder *)aDecoder

  2. awakeFromNib

代码:
-(instancetype)initWithCoder:(NSCoder *)aDecoder{
    if (self = [super initWithCoder:aDecoder]) { 
    }
    return self;
}

-(void)awakeFromNib{
    [super awakeFromNib];    
}

小知识:
同时调用时,先走 initWithCoder:(NSCoder *)aDecoder 然后再走 awakeFromNib 方法


你可能感兴趣的:(iOS 视图控制器初始化方法调用(/重写方法))