0

如果类/结构符合协议,我正在尝试调用协议扩展的方法。

主要原因是不要在各处编写相同的代码来执行一些简单的注册/取消初始化操作。

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编程语言有可能吗?

4

0 回答 0