Расширение протокола по протоколу ObjC

У меня есть протокол Objective C, который используется в основном объектами C и одним или двумя объектами Swift.

Я хотел бы расширить протокол в Swift и добавить 2 функции. Один для регистрации уведомления, а другой для обработки уведомления.

Если я добавлю эти

func registerForPresetLoadedNotification() {
    NSNotificationCenter.defaultCenter().addObserver(self as AnyObject,
                                                     selector: #selector(presetLoaded(_:)),
                                                     name: kPresetLoadedNotificationName,
                                                     object: nil)
}

func presetLoaded(notification: NSNotification) {

}

Я получаю ошибку на #selector, которая говоритArgument of '#selector' refers to a method that is not exposed to Objective-C

Если я тогда отмечу presetLoaded как@objc Я получаю ошибку, которая говорит@objc can only be used with members of classes, @objc protocols, and concrete extensions of classes

Я также не могу пометить расширение протокола как @objc

Когда я создаю протокол Objective C в качестве протокола Swift, я получаю ту же ошибку.

Есть ли способ достичь этого, который будет работать для классов Objective-C и Swift, которые используют протокол?

Ответы на вопрос(2)

Ваш ответ на вопрос