[英]'super.init' isn't called on all paths before returning from initializer
I am new in swift and now i am stuck in inheritance . 我是新手,现在却陷入继承。 Here i am using two class class A, and class B .
在这里,我使用的是A类和B类两个类。 Class B is inheriting some properties of class A .
B类继承了A类的某些属性。 Here is the code .
这是代码。
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")
}
}
In class A , after init i am getting the error of 'super.init' isn't called on all paths before returning from initializer . 在A类中,在初始化之后,在从初始化器返回之前,并未在所有路径上调用'super.init'的错误。
Short answer: 简短答案:
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")
}
} }
Replace 'TestNib' with yours. 用您的替换“ TestNib”。 But it's a bad way to initialize UIViewController subclass.
但这是初始化UIViewController子类的一种不好的方法。 Probably, you don't understand role of UIViewController's and their hierarchy.
可能您不了解UIViewController的角色及其层次结构。 What you want to do in your app?
您想在应用程序中做什么?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.