use*_*232 1 user-interface speech ios avspeechsynthesizer swift
通过此 appcoder 教程构建文本到语音应用程序教程并运行 swift 1.2-> swift 2.0 功能。
演示项目中有一个类... IOS 10.11.1 下的 Xcode 7.1.1 不喜欢它,给了我错误。覆盖 init() 语句上的“初始化器不会覆盖其超类中的指定初始化器”,后面跟着错误“必须调用超类 UISlider 的指定初始化器”。
好吧,对 Swift 来说还很陌生;我开始解决这个问题的地方让我有点迷失。
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
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码应该说什么?
由于UISlider没有定义或继承init()为指定的初始值设定项,因此您无法从子类中调用它init。
class CustomSlider: UISlider {\n\n var sliderIdentifier: Int!\n\n required init() {\n super.init(frame: CGRect.zero)\n sliderIdentifier = 0\n }\n\n\n required init?(coder aDecoder: NSCoder) {\n super.init(coder: aDecoder)\n sliderIdentifier = 0\n }\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n在这种情况下,您可以分解 s 的初始化sliderIdentifier并继承所有UISliders 初始化器:
class CustomSlider: UISlider {\n\n var sliderIdentifier: Int! = 0\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n有关更多信息,请阅读《Swift 编程语言》中标题为 \xe2\x80\x9cDesignated Initializers 和 Convenience Initializers\xe2\x80\x9d 的部分。
\n| 归档时间: |
|
| 查看次数: |
2000 次 |
| 最近记录: |