iOS开发- initWithFrame 和 initWithCoder 什么情况下会初始化?

initWithFrame  和   initWithCoder


当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化

- (id)initWithFrame:(CGRect)frame

{

    if (self =[superinitWithFrame:frame]) {

        // 初始化代码

    }

    return self;

}


用于视图加载nib文件,从nib中加载对象实例时,使用 initWithCoder初始化这些实例对象

- (id)initWithCoder:(NSCoder*)coder

{

    if (self =[superinitWithcoder:coder]) {

        // 初始化代码

    }

    return self;

}

initWithCoder是一个类在IB中创建但在xocde中被实例化时被调用的.比如,通过IB创建一个controller的nib文件,然后在xocde中通过initWithNibName来实例化这个controller,那么这个controller的initWithCoder会被调用.

你可能感兴趣的:(initWithFrame,initWithCoder)