问题描述
尝试子类化uicontextmenuconfiguration时出现Xcode编译器错误。
以下是重现问题的简单代码:
@available(iOS 13.0,*)
class DateDifferenceContextMenu: uicontextmenuconfiguration {
init(indexPath: IndexPath,dateDifference: Int) {
super.init(identifier: nil,previewProvider: nil,actionProvider: nil)
}
}
必须调用超类'uicontextmenuconfiguration'的指定初始化程序。
我的超级调用与指定的初始化程序匹配。 怎么了?
解决方法
我的超级调用与指定的初始化程序匹配。
不,它调用convenience
初始化程序。
将代码更改为仅调用super.init()
,或者将初始化程序设置为convenience
。即:
class DateDifferenceContextMenu: UIContextMenuConfiguration {
// use either this
convenience init(indexPath: IndexPath,dateDifference: Int) {
self.init(identifier: nil,previewProvider: nil,actionProvider: nil)
}
// or this
init(indexPath: IndexPath,dateDifference: Int) {
super.init()
}
}