全能构造器(Designated Initializer)正常情况下是全面初始化类变量的init函数,从类的初始化函数调用中我们就可以看到。例如存在Person类继承自NSObject,包含两个属性:NSString类型的名称name,CGFloat类型的金钱money以及int类型的年龄age。那么我们总共有四个init函数,分别是:
①init ②initWithAge ③initWithAge: andName ④initWithAge: andName: andMoney
正常情况下,我们在前三个init函数里会赋予缺省初始化参数的变量一个默认值,并且调用第④个构造方法。我们都知道调用多一个方法会耗损额外的计算时间,为什么还要做这种事情呢?