Разрешение неоднозначного инициализатора из нескольких фреймворков

#swift #frameworks #protocols #initializer #ambiguity

#быстрый #фреймворки #протоколы #инициализатор #неоднозначность

Вопрос:

Я объявил инициализатор в расширении для встроенного типа протокола.

 extension SomeProtocol {
    init(fromData: Data) { // my code here }
}
 

Фреймворк, который я использую, также объявляет инициализатор для того же протокола с той же сигнатурой функции.

Поэтому, когда я пытаюсь вызвать свой инициализатор, я получаю сообщение об ошибке двусмысленности:

 let myObject = SomeProtocolConformingObject(fromData: data) // error
 

Я знаю, что вы можете указать функции верхнего уровня из фреймворка следующим образом:

SomeFramework.topLevelFunction()

Но как я могу указать, чтобы использовать мой инициализатор или инициализатор фреймворка, не изменяя сигнатуру функции?