Я пытаюсь вызвать метод расширения протокола, если класс / структура соответствует протоколу.
Основная причина - не писать везде один и тот же код для выполнения простых операций регистрации / деинсталляции.
protocol LanguageChangeDipatcher {
func postLanguageChangeNotification()
}
extension LanguageChangeDipatcher {
func postLanguageChangeNotification() {
NotificationCenter.default.post(name:.languageChange, object: nil)
}
}
@objc protocol LanguageChangeObserver: NSObjectProtocol {
func onLanguageChange()
}
extension LanguageChangeObserver {
func addLanguageChangeObserver() {
NotificationCenter.default.addObserver(self, selector: #selector(onLanguageChange), name: .languageChange, object: nil)
}
}
class SecondViewController: UIViewController, LanguageChangeObserver {
}
Я ожидаю, что addLanguageChangeObserver будет вызываться автоматически, если какой-либо класс или структура соответствует протоколу.Возможно ли это на языке программирования Swift?