一张实现多个初始化函数很好的图

 

这种初始化方法的实质:在子类中重写父类的初始化方法,并在该方法中调用该子类自身的初始化方法。

作用:避免程序员错误调用初始化方法,比如只写了init,同样能够是的对象接受自己的初始化函数名称的message,从而完成初始化。
 
这种方法虽然巧妙,但是不是和所有的情况,有时候你需要避免别人滥用init,你可以重载该函数并给他一个异常,像这种
- (instancetype)init
{
    [NSException raise:@"BNRWallSafeInitialization"
                format:@"Use initWithSecretCode:, not init"];
}
posted @ 2015-10-20 14:11  Santiago_1991  阅读(148)  评论(0编辑  收藏  举报