XMG 什么时候调用initWithCoder方法

解析文件的时候会调用initWithCoder方法

所以说当解析xib或者是storyBoard的时候会解析initWithCoder方法,不会调用initWithFrame方法

// 解析文件都会调用这个方法


- (id)initWithCoder:(NSCoder *)aDecoder

{

    

    // 只要父类遵守了NSCoding,就调用initWithCoder

    // 先初始化父类

    if (self = [super initWithCoder:aDecoder]) {

        NSLog(@"%s",__func__);

    }

    

    return self;

}



// 通过代码初始化的时候,调用init方法,底层就会调用initWithFrame

- (instancetype)initWithFrame:(CGRect)frame

{

    if (self = [super initWithFrame:frame]) {

        NSLog(@"%s",__func__);

    }

    return self;

}




你可能感兴趣的:(XMG 什么时候调用initWithCoder方法)