我如何知道哪个初始化程序是任何类的指定初始值设定项? 我猜它是最需要参数的那个,但有时候这可能是不正确的。
答案 0 :(得分:6)
omz的答案可以更加明确地说明:框架类的文档将指定哪个是指定的初始化程序。有必要知道指定的初始化程序是什么,以便编写行为正常的子类。子类的D.I.必须打电话给超类的D.I.为了确保它已正确初始化。
然而,您对最大数量参数的猜测是有根据的。 Apple实际上声明它经常是 D.I.在一些地方。
获取完整初始化参数的类的初始化器通常是指定的初始化器。
一些子类提供了方便的初始化程序,它为初始化程序提供了默认值,该初始化程序获取了完整的初始化参数。这个初始值设定项通常是指定的初始值设定项,是类中最重要的初始值设定项。
答案 1 :(得分:0)
如果不查看源代码(系统框架不可能)或文档(可能是超类),您无法真正了解这一点。
答案 2 :(得分:0)
来自BigNerdRanch iOS编程书:
*指定的初始值设定项在执行任何其他操作之前(直接或间接)调用超类的指定初始值设定项。
* 任何其他初始化程序调用类的指定初始值设定项(直接或间接)。
*如果一个类声明了一个与其超类不同的指定初始值设定项,则必须重写超类的指定初始值设定项以直接或间接地调用新的指定初始值设定项。
康威,乔;亚伦希勒加斯; Keur,Christian(2014-02-14)。 iOS编程:大书呆子牧场指南(第4版)(大书呆子牧场指南)(Kindle地点1906-1910)。皮尔逊教育。 Kindle版。