我是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'的错误。
答案 0 :(得分:0)
简短回答:
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及其层次结构的作用。你想在你的应用程序中做什么?