El método no '@ objc' no cumple el requisito opcional del protocolo '@objc'
Visión de conjunto:Tengo un protocolo P1 que proporciona una implementación predeterminada de una de las funciones opcionales de Objective-C.Cuando proporciono una implementación predeterminada de la función opcional, aparece una advertenciaAdvertencia del compilador:
Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate'
Versión:Rápido: 3Xcode: 8 (lanzamiento público)Intentos realizados:Intenté agregar@objc
pero no ayudaPregunta:¿Cómo resuelvo esto?¿Hay alguna solución?Código:@objc protocol P1 : UIAdaptivePresentationControllerDelegate {
}
extension P1 where Self : UIViewController {
func presentationController(_ controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? {
return UIViewController()
}
}
class A : UIViewController, P1 {
}