Ошибка Xcode при попытке создать подкласс UIContextMenuConfiguration
Я получаю ошибку компилятора Xcode при попытке создать подкласс UIContextMenuConfiguration.
Вот простой код, воспроизводящий проблему:
@available(iOS 13.0, *)
class DateDifferenceContextMenu: UIContextMenuConfiguration {
init(indexPath: IndexPath, dateDifference: Int) {
super.init(identifier: nil, previewProvider: nil, actionProvider: nil)
}
}
Ошибка гласит:
Должен вызывать назначенный инициализатор суперкласса "UIContextMenuConfiguration".
Мой супервызов соответствует назначенному инициализатору. Что случилось?
1 ответ
Решение
Мой супервызов соответствует назначенному инициализатору.
Нет, это вызывает
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()
}
}