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;

}

 

所以在写一个控件的时候要注意这两种方式的不同调用

Blog都是随笔,只当做笔记,不会有详细介绍,测试请慎重。。。
原文地址:https://www.cnblogs.com/JerryBaxia/p/4790871.html