Ios 初始值设定项不会覆盖其超类Swift 2.0中指定的初始值设定项
通过本appcoder教程,运行swift 1.2->swift 2.0功能 演示项目中有一个类。。。IOS 10.11.1下的Xcode 7.1.1不喜欢它,这给了我一个错误。override init()语句中的“Initializer不重写其超类中指定的Initializer”,后面是错误“必须调用超类UISlider的指定Initializer” 好吧,对斯威夫特来说是个新概念;在我开始修复的地方,我有点迷茫Ios 初始值设定项不会覆盖其超类Swift 2.0中指定的初始值设定项,ios,swift,user-interface,speech,avspeechsynthesizer,Ios,Swift,User Interface,Speech,Avspeechsynthesizer,通过本appcoder教程,运行swift 1.2->swift 2.0功能 演示项目中有一个类。。。IOS 10.11.1下的Xcode 7.1.1不喜欢它,这给了我一个错误。override init()语句中的“Initializer不重写其超类中指定的Initializer”,后面是错误“必须调用超类UISlider的指定Initializer” 好吧,对斯威夫特来说是个新概念;在我开始修复的地方,我有点迷茫 class CustomSlider: UISlider { var sli
class CustomSlider: UISlider {
var sliderIdentifier: Int!
override init() { <--- error here
super.init() <--- error here
sliderIdentifier = 0
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
sliderIdentifier = 0
}
}
class CustomSlider:UISlider{
var sliderIdentifier:Int!
重写init()
class CustomSlider: UISlider {
var sliderIdentifier: Int!
required init() {
super.init(frame: CGRect.zero)
sliderIdentifier = 0
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
sliderIdentifier = 0
}
}
在这种情况下,您可以排除sliderIdentifier
的初始化,只继承所有UISlider
s的初始化器:
class CustomSlider: UISlider {
var sliderIdentifier: Int! = 0
}
有关详细信息,请阅读中标题为“指定初始值设定项和方便初始值设定项”的部分。由于UISlider
没有将init()定义或继承为指定初始值设定项,因此不能从子类init
调用它
class CustomSlider: UISlider {
var sliderIdentifier: Int!
required init() {
super.init(frame: CGRect.zero)
sliderIdentifier = 0
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
sliderIdentifier = 0
}
}
在这种情况下,您可以排除sliderIdentifier
的初始化,只继承所有UISlider
s的初始化器:
class CustomSlider: UISlider {
var sliderIdentifier: Int! = 0
}
有关更多信息,请阅读中标题为“指定初始值设定人和方便初始值设定人”的部分