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) будетквалифицироваться как принятый ответ.