我是swift的新手,正在使用Swift 4.0。我正在尝试为我的类创建一个构造函数,它接受1个字符串参数,并且遇到问题让它工作。我也得到了错误
通话中的参数标签不正确(有'类型:',期望'编码器:')
我一直在搬东西,但它没有用。我想更改下面的子类,以便每当我想使用该类时,都需要以下签名 CustomAVPLayerC(类型:"字符串")。这是我第一次这样做,因为我通常使用函数。
这是我的代码
import UIKit
import AVKit
class CustomAVPLayerC: AVPlayerViewController {
var ControllerType: String
init(type: String) {
self.ControllerType = type
// perform some initialization here
super.init(type: "")
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if player?.isMuted == true {
player?.isMuted = false
//showsPlaybackControls = false
} else {
player?.isMuted = true
}
}
}
答案 0 :(得分:2)
您的init(type:)
初始值设定项需要调用超类init
的{{1}}方法之一。 AVPlayerViewController
没有AVPlayerViewController
初始值设定项(存在于您的子类中)。
变化:
init(type:)
为:
super.init(type: "")