Swift / iOS: как узнать, существует ли какое-либо определение ИЛИ какой модуль уже импортирован? - PullRequest
0 голосов
/ 01 февраля 2019

Swift / iOS: Как узнать, существует ли какое-то определение ИЛИ что какой-то модуль уже импортирован?

Вариант использования следующий: у меня есть 2 (или более) фреймворка, которые зависят от одного и того же протокола,Я могу либо определить это независимо в обоих, либо сделать так, чтобы они оба зависели от еще одного фреймворка / модуля.Проблема в том, что потенциально обе платформы могут использоваться вместе в одном классе.

Поэтому мне понадобится что-то вроде (Вопрос № 1)

#if parent_framework_is_included
// nothing
#else
// define the protocol
#endif

или (Вопрос № 2)

#if my_protocol_is_defined
// nothing
#else
// define my protocol
#endif

Флаги компилятора Swift, такие как -D, определенные в каркасе, не видны в модуле, зависящем от каркаса.

Любое из решений (мое предпочтение будет # 2, # 1) будетквалифицироваться как принятый ответ.

...