Designated Initializer
指定初始化函数注意点:
1. Designated Initializer表示指定初始化函数(唯一的初始化出口)。
2. 如果需要创建新的指定初始化函数,则新的指定初始化函数在内部调用父类的指定初始化函数。而旧的指定初始化函数降级为便利初始化函数,你必须重写便利初始化函数,并在里面转调新的指定初始化函数。
3. 如果需要自己创建便利初始化函数,则在里面必须转调指定初始化函数。(和第二点一样)
4. 一个类可以拥有多个指定初始化函数。你需要根据初始化数据源选择其中一个指定初始化函数。(不建议为一种初始化数据源创建多个指定初始化函数)。