Ios 初始值设定项不会覆盖其超类Swift 2.0中指定的初始值设定项

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

通过本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 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

}
有关更多信息,请阅读中标题为“指定初始值设定人和方便初始值设定人”的部分