ios - 需要在 Swift 中为生命周期方法调用 super 构造函数

标签 ios swift initialization

我已经编写代码多年了,我非常习惯在重写方法时总是调用方法的 super 构造函数。但最近我一直想知道它是否总是必要的……我知道当你覆盖一个初始化程序时你应该调用 super.init()。但是在 Swift 和 iOS 开发中,如果你重写一个 UIViewController 生命周期方法,比如 viewDidLoad() 而忘记调用 super.viewDidLoad(),编译器不会产生任何警告或错误,并且代码似乎可以正常编译。所以我想知道调用是否以某种方式内置到 SDK 中,甚至是否有必要调用(考虑到我们希望代码尽可能高效和正确)?

最佳答案

我想你可能会看here一个很好的答案。

Apple 不限制您调用 super.viewDidLoad(),但在调用之前使用某些 View 循环方法和变量是不安全的。例如,如果您想首先初始化自己的变量或属性 - 我认为这不会有问题。

关于ios - 需要在 Swift 中为生命周期方法调用 super 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34015365/

相关文章:

ios - Swift string more than operator 是如何工作的

ios - 无法将我的应用程序上传到应用程序商店

应用程序打开时的 iOS 应用程序通知(如 whatsapp)

c++ - 将类对象初始化为引用内存

c++ - const 引用必须在构造函数基类/成员初始化列表中初始化

ios - Flex iOS 应用程序在没有互联网连接的情况下无法启动,然后显示不需要的弹出窗口

ios - 为什么在swift中tableview滚动后从coredata返回的数据变成nil?

swift - 在 URL 中用波浪号替换用户路径

swift - "??"的使用不明确

java - 开关盒中值的修改