第16条:提供“全能初始化方法”

为对象提供必要信息以便其完成工作的初始化方法叫做“全能初始化方法”,也可以称为“指定初始化方法”。


例如UITableViewCell中的初始化
 
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(nullable NSString *)reuseIdentifier 
 
,NSDate 的
-(id)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)seconds
 
要点
  •   在类中提供一个全能初始化方法,并于文档里指明。其他初始化方法均应调用此方法。
  •     若全能初始化方法与超类不同,则需覆写超类中的对应方法。
  •     如果超类的初始化方法不适用于子类,那么应该覆写这个超类方法,并在其中抛出异常。
posted @ 2016-03-23 11:03  lanyayue  阅读(168)  评论(0)    收藏  举报