Xcode Error trying to subclass UIContextMenuConfiguration

97 views Asked by At

I'm getting Xcode compiler error when trying to subclass UIContextMenuConfiguration.

Here's simple code that reproduces the problem:

@available(iOS 13.0, *)
class DateDifferenceContextMenu: UIContextMenuConfiguration {
    init(indexPath: IndexPath, dateDifference: Int) {
        super.init(identifier: nil, previewProvider: nil, actionProvider: nil)
    }
}

The error reads:

Must call a designated initializer of the superclass 'UIContextMenuConfiguration'.

My super call matches the designated initializer. What's wrong?

1

There are 1 answers

1
Gereon On BEST ANSWER

My super call matches the designated initializer.

No, it calls a convenience initializer.

Change your code to either simply call super.init(), or make your initializer be a convenience well. I.e.:

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()
    }

}