Objective-C 类的初始化方法

自定义类时,一般都要需要提供初始化方法。正确的设置初始化方法,才能保证类的使用者使用自定义类时不出现问题。

  1. 提供一个designated initializer(能够为对象提供必要信息以便其能完成工作的初始化方法),并且类的其它初始化方法都调用这个designated initializer。

这样处理的好处是,当底层数据存储机制改变时,只需要修改designated initializer中的代码。

  1. 子类的designated initializer需要调用父类的designated initializer。

  2. 自定义类的designated initializer如果与其父类的designated initializer名称不同,就需要覆写父类designated initializer,自定义类的designated initializer再调用覆写的方法。

  3. 如果父类的初始化方法不适合子类,就需要在子类中覆写父类的初始化方法,并且抛出异常。

  4. 类的designated initializer可能不止一个。当存在一种完全不一样的初始化方式时,就还需要提供另外一个designated initializer。参考NSCoding协议。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容