OC的全能构造器

本文探讨了Objective-C中全能构造器(Designated Initializer)的重要性,解释了为何即使会增加计算时间,也需要在不同初始化方法中调用它。内容提到,由于 OC 类继承自 NSObject 并且每个父类构造器只能返回一个子类构造器,错误的构造器调用顺序可能导致隐患。正确的做法是设定一个全能构造器,确保所有其他构造器都通过它来调用父类的初始化方法,以避免问题的发生。
摘要由CSDN通过智能技术生成

全能构造器(Designated Initializer)正常情况下是全面初始化类变量的init函数,从类的初始化函数调用中我们就可以看到。例如存在Person类继承自NSObject,包含两个属性:NSString类型的名称name,CGFloat类型的金钱money以及int类型的年龄age。那么我们总共有四个init函数,分别是:

①init    ②initWithAge    ③initWithAge: andName    ④initWithAge: andName: andMoney


正常情况下,我们在前三个init函数里会赋予缺省初始化参数的变量一个默认值,并且调用第④个构造方法。我们都知道调用多一个方法会耗损额外的计算时间,为什么还要做这种事情呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值