第16条:提供“全能初始化方法”
为对象提供必要信息以便其完成工作的初始化方法叫做“全能初始化方法”,也可以称为“指定初始化方法”。
例如
UITableViewCell中的初始化- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(nullable NSString *)reuseIdentifier
,NSDate 的
-(id)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds
要点
- 在类中提供一个全能初始化方法,并于文档里指明。其他初始化方法均应调用此方法。
- 若全能初始化方法与超类不同,则需覆写超类中的对应方法。
- 如果超类的初始化方法不适用于子类,那么应该覆写这个超类方法,并在其中抛出异常。

浙公网安备 33010602011771号