gpt4 book ai didi

ios - 从初始化程序返回之前,不会在所有路径上调用“super.init”

转载 作者:行者123 更新时间:2023-11-30 11:27:27 24 4
gpt4 key购买 nike

我是 swift 的新手,现在我陷入了继承之中。这里我使用两个类 A 类和 B 类。 B 类继承了 A 类的一些属性。这是代码。

class A
{
var objRunningJobs:UIViewController!
var objCompletedJobs:UIViewController!
init(objRunningJobs:UIViewController, objCompletedJobs: UIViewController) {
self.objRunningJobs = objRunningJobs
self.objCompletedJobs = objCompletedJobs
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

}

class B: A
{
override init(objRunningJobs:UIViewController, objCompletedJobs: UIViewController) {
super.init(objRunningJobs: objRunningJobs, objCompletedJobs: objCompletedJobs)
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}

在 A 类中,初始化后,我收到错误 'super.init' 在从初始化程序返回之前未在所有路径上调用。

最佳答案

简短回答:

class A: UIViewController {
let objRunningJobs: UIViewController
let objCompletedJobs: UIViewController

init(objRunningJobs:UIViewController, objCompletedJobs: UIViewController) {
self.objRunningJobs = objRunningJobs
self.objCompletedJobs = objCompletedJobs
super.init(nibName: "TestNib", bundle: nil)
}

required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

}

将“TestNib”替换为您的。但这是初始化 UIViewController 子类的糟糕方法。您可能不了解 UIViewController 的角色及其层次结构。您想在应用程序中执行什么操作?

关于ios - 从初始化程序返回之前,不会在所有路径上调用“super.init”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50578538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com