iOS开发 initWithFrame和initWithCoder的区别

来源:互联网 发布:大数据世界 墨乡 小说 编辑:程序博客网 时间:2024/05/16 11:44

initWithFrame:我们不使用xib的时候,需要对View的frame进行设置,所以需要调用initWithFrame方法进行初始化设置(这里以View为例)

-(instancetype)initWithFrame:(CGRect)frame{ 

    if ([superinitWithFrame:frame]) {

        

    }

    returnself;

}

initWithCoder:我们使用xib拖控件的时候,需要对view或者view的子类进行初始化设置时,这个时候调用initWithFrame方法设置不起作用,所以就需要用到initWithCoder方法进行初始化了。

-(instancetype)initWithCoder:(NSCoder *)aDecoder{

    self = [superinitWithCoder:aDecoder];

    if (self) {

        

    }

    returnself;

}

注意:无论是initWithCoder方法还是initWithFrame两个方法必须先调用父类的初始化方法,再进行自定义的初始化操作:

self = super initWithFrame:frame;

self = [super initWithCoder:aDecoder];


0 0
原创粉丝点击