Обзор:
- У меня есть протокол P1, который обеспечивает реализацию по умолчанию одной из необязательных функций Objective-C.
- Когда я предоставляю стандартную реализацию необязательной функции, появляется предупреждение
Предупреждение о компиляторе:
Non-'@objc' method 'presentationController(_:viewControllerForAdaptivePresentationStyle:)' does not satisfy optional requirement of '@objc' protocol 'UIAdaptivePresentationControllerDelegate'
Версия:
- Swift: 3
- Xcode: 8 (публичный выпуск)
Сделанные попытки:
- Попробовал добавить
@objc
, но не помогает
Вопрос:
- Как мне разрешить это?
- Есть ли работа?
Код:
@objc protocol P1 : UIAdaptivePresentationControllerDelegate {
}
extension P1 where Self : UIViewController {
func presentationController(_ controller: UIPresentationController, viewControllerForAdaptivePresentationStyle style: UIModalPresentationStyle) -> UIViewController? {
return UIViewController()
}
}
class A : UIViewController, P1 {
}