Swift 尝试将UIContextMenuConfiguration子类化时发生Xcode错误
尝试将UIContextMenuConfiguration子类化时,我遇到Xcode编译器错误 下面是重现问题的简单代码:Swift 尝试将UIContextMenuConfiguration子类化时发生Xcode错误,swift,uicontextmenuconfiguration,Swift,Uicontextmenuconfiguration,尝试将UIContextMenuConfiguration子类化时,我遇到Xcode编译器错误 下面是重现问题的简单代码: @available(iOS 13.0, *) class DateDifferenceContextMenu: UIContextMenuConfiguration { init(indexPath: IndexPath, dateDifference: Int) { super.init(identifier: nil, previewProvi
@available(iOS 13.0, *)
class DateDifferenceContextMenu: UIContextMenuConfiguration {
init(indexPath: IndexPath, dateDifference: Int) {
super.init(identifier: nil, previewProvider: nil, actionProvider: nil)
}
}
错误内容如下:
必须调用超类“UIContextMenuConfiguration”的指定初始值设定项
我的超级调用与指定的初始值设定项匹配。
怎么了
我的超级调用与指定的初始值设定项匹配
不,它调用一个便利性初始值设定项
将您的代码更改为只调用super.init()
,或者使您的初始值设定项成为一个方便的
。即:
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()
}
}
我的超级调用与指定的初始值设定项匹配
不,它调用一个便利性初始值设定项
将您的代码更改为只调用super.init()
,或者使您的初始值设定项成为一个方便的
。即:
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()
}
}
谢谢你说得太对了!我查看了类定义,没有看到它只有一个便利的init()。真正的init()来自NSObject。谢谢!你说得太对了!我查看了类定义,没有看到它只有一个便利的init()。真正的init()来自NSObject。