有没有办法找出 Xcode 中超类中指定的初始化程序?
我输入 super().init.. 然后,Xcode 显示超类的所有初始化程序。我想知道是否有任何标志或符号指出哪个是指定的?
也是一个快速的问题。子类中的指定初始化程序(DI)只允许调用超类中的便利初始化程序(CI),因为超类中的 CI 最终将调用超类中的 DI。如果我错了,请纠正我,谢谢。
有没有办法找出 Xcode 中超类中指定的初始化程序?
我输入 super().init.. 然后,Xcode 显示超类的所有初始化程序。我想知道是否有任何标志或符号指出哪个是指定的?
也是一个快速的问题。子类中的指定初始化程序(DI)只允许调用超类中的便利初始化程序(CI),因为超类中的 CI 最终将调用超类中的 DI。如果我错了,请纠正我,谢谢。
对于任何刚接触 Xcode 的人来说——这也让我困惑了一段时间。关键字的缺失convenience
定义了指定的初始值设定项,但根据您查看的位置,您不会总是看到 'convenience' 关键字。
可以看到convenience
关键字:
在“开发人员文档”中查看类的概述时,或者在您键入时的代码建议中,您看不到它。
(使用 Xcode 13.1)
在 Swift 中,任何没有用关键字“convenience”标记的构造器都是指定构造器。
根据 Swift 编程语言,指定初始化程序需要在其直接超类中调用指定初始化程序。他们不能调用便利初始化程序。